问题1:
CAS4.0.0-RC3版本,在使用HTTP方式访问的时候,CAS服务端不会存储用户登录信息,所以用户登录后信息立刻失效,所以需要在CAS服务端安装证书,使用HTTPS方式访问(因为使用4.2.7版本没有这种问题,所以可能是版本问题吧...不过CAS最好还是使用HTTPS方式访问)
问题2:
在CAS服务端安装证书的时候会配置域名,配置了域名后,从客户端访问CAS服务端就必须使用域名访问,不能使用IP访问,否则cas服务端会认证不通过
问题3:
一般情况下,用户和角色的关系为多对多,所以需要在CAS服务端配置返回用户更多信息,并且返回多角色,但是当前用户为单角色和多角色,CAS服务端返回的数据格式是不一样的
eg: 当前用户为单角色时,方法this.getSubject().getPrincipals().asList().get(1);的返回值格式为
{role=role1,permission=permission1,...}
当前用户为多角色时,方法this.getSubject().getPrincipals().asList().get(1);的返回值格式为
{role=[role1,role2],permission=[permission1,permission2,permission3],...}
所以需要在客户端通过判断CAS服务端返回的数据格式,获取用户角色和权限以及其他信息
~~~以上为在开发过程中使用CAS时候遇到的坑,记录一下