`
alex8946
  • 浏览: 360422 次
  • 性别: Icon_minigender_1
  • 来自: 广东广州
社区版块
存档分类
最新评论

CAS实现SSO - 1

阅读更多

通过网上查找了许多SSO的资料,几乎都是天下文章一大抄,并且也没有一个真正用于实际项目的讲解。没办法,只能从http://www.ja-sig.org/products/cas下载了服务端JAR和客户端JAR及相应的一些E文资料。再结合网上的一些文章,了解了SSO的流程如下:

1、用户浏览受系统保护的URL。

2、WEB-A服务端收到请求,Filter拦截该请求,在Filter中判断该用户是否已经登陆,如果已经登陆,就直接进入系统,否则,将请求转发到CAS服务端的LoginURL。

3、在LoginURL中会获取到用户的Cookie,检验用户是否已经在其他相关使用SSO的系统登陆成功。如果已经在其他的系统登陆了,则将请求转回WEB-A,并且带回一个ticket,WEB-A再次发送请求到ValidateURL。否则,系统提示用户输入ID和PASSWORD。

4、提交后请求到ValidateURL,CAS验证ticket的有效性。然后返回结果给WEB-A。如果ticket有效,则WEB-A应让该用户浏览受保护的资源。否则,重定向到登陆页面,提示用户输入ID和PASSWORD。

5、校验ID和Password是否匹配。如不匹配,再次要求用户输入ID和PASSWORD。否则,CAS记录用户登陆成功。并向浏览器回送Cookie,记录用户已经登陆成功。如果浏览器不支持Cookie,则无法实现单点登陆。

 

附1:CAS认证流程(懒得画了,直接从网上找了一张图片,从第2步开始就是了,^_^)。

 

附2:有些浏览器拒绝不信任的站点写入Cookie,则WEB-A服务器可以配置P3来实现。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics