公司一直用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 个独立组件
  • tomcat 使用 jaas(sso realm + form realm) + authenticator来实现
  • 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

转载于:https://www.cnblogs.com/yangjun1120/archive/2012/01/30/2332154.html

siteminder sso agent 初探相关推荐

  1. Java agent初探

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"获取公众号专属群聊入口 来源:阿里巴巴中间件 在本篇文章中,我会通过几个简单的程 ...

  2. SSO(Single Sign-on) in Action

    1. SSO 原理浅谈 SSO 是一个非常大的主题,我对这个主题有着深深的感受,自从广州 UserGroup 的论坛成立以来,无数网友都在尝试使用开源的 CAS , Kerberos 也提供另外一种方 ...

  3. SSO解决方案 - CAS/SMAL 介绍

    SSO 是一个非常大的主题,我对这个主题有着深深的感受,自从广州 UserGroup 的论坛成立以来,无数网友都在尝试使用开源的 CAS , Kerberos 也提供另外一种方式的 SSO ,即基于 ...

  4. 应用整合中SSO的技术实现

      应用整合中SSO的技术实现               在税务行业信息化发展的关键阶段,应用整合已经非常重要,而应用整合的表现层首先要实现的就是单点登陆(SSO,Single sign-on的缩写 ...

  5. Resolving Problems installing the Java JCE Unlimited Strength Jurisdiction Policy Files package--转

    原文地址:https://www.ca.com/us/services-support/ca-support/ca-support-online/knowledge-base-articles.tec ...

  6. 一句话概括互联网巨头,简直不要太真实!哈哈哈哈哈哈哈哈哈

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"获取公众号专属群聊入口 来源:西二旗生活指北 监制:景岁,撰稿:刘大宝,绘画:胃 ...

  7. 牛逼! IDEA 2020 要本土化,真的是全中文了!

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"获取公众号专属群聊入口 来源:rrd.me/grt2c 前不久 JetBrain ...

  8. 2020 JVM生态报告

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"获取公众号专属群聊入口 这篇报告会回答下面这些,但不止这些问题: 你最近在生产环 ...

  9. 图文:关于进程与线程,我看过最通俗的解释!

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"获取公众号专属群聊入口 来源:rrd.me/gmsmz 进程(process)和 ...

最新文章

  1. 王建春计算机应用基础,计算机应用基础(本)教学指南.pdf
  2. 自学python可以找到好的工作吗-学好python能找到好工作吗?
  3. linux java -xms_java.lang.OutOfMemoryError及解决方法
  4. oracle 11g数据库数据操作(亲测)
  5. linux ftp配置chroot,vsftp chroot 设置
  6. 获取php数组最后,php获取数组最后一个值的2种方法
  7. H264解码的一个測试程序
  8. Word中如何设置论文中的公式与序号
  9. linux命令大全 load,linux命令TOP参数load average详解[转]
  10. python概率计算,python简单脚本之概率计算
  11. 大数据工程师四能力你拥有几种?
  12. oracle存储过程的赋值,ORACLE_存储过程_赋值
  13. 五句话介绍计算机英语,日常必备的英语口语句子3篇
  14. 瀚博半导体载天VA1 加速卡安装过程
  15. 最新版NASA官方网站数据下载流程——以MODIS数据演示为例
  16. C语言编程实现简易计算器
  17. hdu 1170 Balloon Comes!(水题)
  18. stata 入门(双重差分模型)
  19. ElasticSearch的介绍与安装
  20. Android原生编解码接口MediaCodec详解

热门文章

  1. 微博粉丝平台开发全攻略
  2. 深入理解 gRPC 协议--理解protobuf/.proto/http2
  3. 探究Lucene计算权重的过程
  4. (03)Verilog HDL模块例化
  5. 机械硬盘4k读写速度_三星T5移动硬盘应用评测:不止够用,还很好用
  6. nvme驱动_用户态NVMe运维利器 SPDK NVMe 字符设备
  7. 12015.linux通过代码或命令形式操作内存/dev/mem
  8. 5003.c++定义hpp文件
  9. NEC协议——红外遥控的使用
  10. leetcode article