siteminder sso agent 初探

siteminder sso agent 初探


公司一直用weblogic开发,CA有现成的sso agent for weblogic,只需要简单封装即可,主要是通过filter+serevlet来实现的。

后来又有了sso agent from jboss,自己也设想一下tomcat/jetty 替换weblogic 来作为web server,所以考虑custom sso agent for web container的开发.



大致的设计架构:

组件1:authenticator/filter :可以支持cross domain,cookie,form

组件2:loginModule/Provider:包括Identity 和Form 个独立组件







1.tomcat 使用 jaas(sso realm + form realm) + authenticator来实现

2.jetty 使用 jass(sso realm _+ realm )+ authenticator来实现

sso realm 和 form realm 都是标准的jaas实现,tomcat 和jetty 分别继承自身的FormAuthenticator来扩展.





认证流程处理:
a.SSO跨域
需要配置siteminder 的cookie provider,用于生成cookie和SESSION,以便于不同域cookie生成的桥梁;
.判断请求是否已经认证过,如何认证过直接通过。
.如果是登陆请求j_security_check,使用SMSSION来登陆,如果通过,realm 认证(获取权限role);认证成功,跳转到cookieprovider(生成cookieprovider domain的cookie或smsession);如何认证成功,结束。
.使用SSO Cookie登陆,如果通过,realm认证;认证成功,跳转到cookieprovider(生成cookieprovider domain的cookie或smsession);如果认证成功,结束
.跳转到登陆页面.

b.SSO同域
.判断请求是否已经认证过,如何认证过直接通过。
.如果是登陆请求j_security_check,使用SSO Cookie登陆,如果通过,realm认证(获取权限role).如何认证成功,结束
.跳转到登陆页面.

c.非SSO
.realm认证。如果成功,跳转到welcome页面。否则跳转到登陆错误页面.

smagent sdk 4.x 是需要在policy server上配置静态密钥,5.x 就可以先注册生成Smhost.conf,smagent加载即可,


参考:
JAAS:http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/tutorials/index.html
SiteMinder:https://support.ca.com/cadocs/0/CA%20SiteMinder%20r6%200%20SP6-ENU/Bookshelf_Files/HTML/index.htm?toc.htm?937146.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值