本帖最后由 钉子户 于 2021-12-28 16:21 编辑
背景:XX学校采购了Atrust系统,账号对接使用cas认证方式,实现用户统一身份认证和根据用户类型进行分组。
准备工作: 1、升级Atrust到最新版本,需要联系400协助处理 2、准备公网ip、端口映射、访问域名和泛域名 3、第三方系统注册vpn应用,给vpn进行授权,将Atrust用户登录地址进行注册(需要注册后才能调用对方接口,否则会提示没有权限,认证不通过) 4、获取第三方接口文档,需要知道第三方认证地址、注销地址、票据校验地址、认证成功返回的属性值。本次使用到的属性有 CODE (用户账号)、XM(显示名)、YHLX(对应用户分组,返回值有两个 1代表学生 2代表老师)。
具体配置: 1、特性中心启用cas认证
2、新建cas票据认证,业务管理-认证管理-认证服务器 名称、认证域随便填,cas登录地址、注销地址、接口认证地址根据对方提供的信息进行填写 注意:如果cas认证服务器不允许外网登录,需要填写泛域名改写后的地址,并在应用管理里面添加一条免认证规则。之前sslvpn上cas相关配置中有一个勾选,勾选之后就会自动代理。 填写cas认证后需要解析的属性,本次项目数据方法选的json,使用xml用户名显示为乱码,具体需要抓包查看。 关联用户目录可以点击右侧图标新增
免认证规则,非必须
3、用户组配置 来源为本地用户,未导入用户允许登录,根据认证解析的组织架构授权,Atrust当前版本是没有组映射功能的,只能通过自动解析方式,本地需要创建和cas对应的目录,创建1 和 2 两个组,可以直接对用户组进行授权,用户登录后直接继承组的权限。
4、登录门户配 Atrust没有虚拟门户功能,如果要cas和本地用户共存,只能选择手动点击跳转
5、认证结果和抓包数据 xml返回的用户名为乱码,用户组能够正常匹配 改json后正常显示 xml抓包 json抓包
6、资源单点登录 如果cas认证的时候使用了泛域名代理资源,那么需要单点登录的应用也需要发布为泛域名模式。其他按照正常配置即可。 |