您好,这个问题通常与 CAS 服务注册配置或角色属性映射有关。以下是主要的排查和解决步骤:
1、检查 CAS 服务注册配置
确保在 CAS 服务器的服务注册配置文件中,serviceId字段正确匹配了您的 iServer 访问地址。
2、验证角色属性映射
①CAS 端:正确配置了从数据库查询并返回用户角色属性的设置。在 CAS 的 application.properties 文件中,必须包含类似下方的配置,以确保角色信息能正确返回给 iServer :
# 启用属性返回并映射数据库字段
cas.authn.attributeRepository.jdbc[0].singleRow=true
cas.authn.attributeRepository.jdbc[0].attributes.role=role
cas.authn.attributeRepository.jdbc[0].requireAllAttributes=true
②iServer 端:在 iServer 管理页面的“安全 > CAS登录配置”中,您需要在“属性角色关联信息配置”里,将 CAS 返回的角色属性值(如 supermap)与 iServer 的系统角色(如ADMIN)进行正确关联 。
3、检查系统时间同步
如果 CAS 服务器和 iServer 不在同一台机器上,请确保两者的系统时间保持同步。
4、确认使用 HTTPS(如为生产环境)
如果您的部署环境要求使用 HTTPS,请确保 CAS 服务器和 iServer 均已正确配置 HTTPS。
注意:在修改完 CAS 或 iServer 的配置文件后,请重启相关服务以使配置生效。