教程
CAS单点登录
iManager支持基于 CAS 的单点登录。CAS(Central Authentication Service)是 Yale 大学发起的构建 Web SSO 的 Java 开源项目。用户配置单点登录时,需设置 CAS 认证服务器,CAS 认证服务器负责完成对用户信息的认定,可以在配置文件中进行配置。
CAS 单点登录简介
在一个完善的GIS系统中,可能有很多台服务器协同工作,部署了iPortal,多个iServer节点。访问这些GIS服务节点时,就需要在各个产品、节点间频繁切换。通常情况下,各个GIS服务器节点的账户不一样,记住这些各不相同的用户名和密码是非常困难的。如果特意为这些不同的GIS服务器节点设置相同的密码,则安全性又进一步降低,且切换节点频繁登录依然浪费时间。
单点登录就是为了专门解决上述问题而产生的。这里提及的单点登录(Single Sign On,SSO),主要是指Web SSO。
配置使用 CAS 单点登录
在 iManager 产品包中请进行如下配置:在解压后的根目录下 docker-compose.yml 文件中 imanager 的环境变量里添加以下六行配置信息,imanager-ui 的 ALLOW_HOSTS
环境变量里添加 CAS 服务所在主机 ip
。
CAS_LOGIN_URL=http://demo.cubic.com:8088/cas/login
CAS_ROLE_ATTRIBUTES=role
CAS_PROTOCOL=SAML
CAS_ADMIN_ROLES=cas_SYSTEM
CAS_LOGIN_ENABLE=true
CAS_LOGOUT_URL=http://demo.cubic.com:8088/cas/logout
注意:
添加完成以上配置信息(为例),需重启iManager,并保证iManager所在主机与CAS服务所在主机时间相差在3分种之内,iManager才支持CAS的验证登录。若CAS登录验证通过,会自动跳转到 iManager 界面。
- CAS_LOGIN_URL:是配置的CAS 服务器的地址。例如:
http://demo.cubic.com:8088/cas/login
。 - CAS_ROLE_ATTRIBUTES:CAS 用户属性字段,是 CAS 中用户身份的标识字段。用户可以自行设置,例如:role。
- CAS_PROTOCOL:CAS验证协议。默认为SAML,如无特殊需求,不建议修改。支持的验证协议有:CAS10,CAS20, CAS20_PROXY,CAS30,CAS30_PROXY和SAML。
- CAS_ADMIN_ROLES:表示“role”的值为“cas_SYSTEM”,则该用户拥有 iManager 的管理员权限;如果“role”的值为非“cas_SYSTEM”,则该用户拥有 iManager 的普通用户权限。此处“cas_SYSTEM”是举例说明。
- CAS_LOGIN_ENABLE:是否启动CAS 单点登录,默认为false。设置为true后,点击“使用CAS登录“按钮,会跳转到 CAS 登录页面。
- CAS_LOGOUT_URL:是配置的退出CAS 服务器的地址。例如:
http://demo.cubic.com:8088/cas/logout
。
使用 CAS 单点登录
再次启动iManager后,登录页面会显示有如图所示的“使用CAS登录”按钮。
点击“使用CAS登录”按钮进入CAS登录页面,输入用户名和密码即可成功登录iManager界面。