odm teamserver与定制portal sso过程中遇到的Request Headers Referer属性安全性校验问题
来源:互联网 发布:央视直播软件下载apk 编辑:程序博客网 时间:2024/06/06 10:44
从portal sso方式链接到IBM ODM teamserver,方便业务人员操作,更是团队开发的财富、汇金、汇诚等业务系统与odm、filenet等中间件一体化的重要体现。不过从portal调用ibm_security_check进行退出后,再次从portal sso链接teamserver时,400 bad request返回消息,而直接在浏览器地址栏中访问odm teamserver应用却可以访问。仔细对比这两种http请求可知前者的Request Headers的Referer属性值为portal地址。
从WAS的安装目录找到teamserver的web.xml,有几个filter值得关注sessionFilter、accessFilter、securityCheckPointFilter,其对高规格限制应用的安全性具有很好的借鉴。
<filter>
<filter-name>sessionFilter</filter-name>
<filter-class>ilog.rules.teamserver.web.servlets.filter.IlrSessionFilter</filter-class>
<init-param>
<param-name>exclusion-pattern</param-name>
<param-value>.*?(?:\.js|\.css|\.ico|\.gif|\.png|\.jpg|\.rpc|\.html|/unauthenticatedLogout|/logout|/error403.jsp|/error403b.jsp|/error408.jsp)$</param-value>
</init-param>
</filter>
<filter>
<filter-name>accessFilter</filter-name>
<filter-class>ilog.rules.teamserver.web.servlets.filter.IlrAccessFilter</filter-class>
<init-param>
<description>
List of views that are directly accessible. Accessing a view not listed here will always prompt the user to the
Home page
</description>
<param-name>accessibleViews</param-name>
<param-value>
/login.jsp, /loginError.jsp, /error408.jsp, /home.jsp, /action.jsp,
/explore/explore.jsp, /compose/compose.jsp, /query/query.jsp, /configure/configure.jsp
</param-value>
</init-param>
</filter>
<filter>
<filter-name>securityCheckPointFilter</filter-name>
<filter-class>ilog.rules.teamserver.web.security.SecurityCheckPointFilter</filter-class>
<init-param>
<param-name>ilog.rules.teamserver.check-referer</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>ilog.rules.teamserver.referer-check-url-exclusion-patterns</param-name>
<param-value/>
</init-param>
<init-param>
<param-name>ilog.rules.teamserver.check-cookie</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>ilog.rules.teamserver.url-form-check-inclusion-patterns</param-name>
<param-value>/action.jsp,/remoting/session</param-value>
</init-param>
<init-param>
<param-name>ilog.rules.teamserver.url-form-check-exclusion-patterns</param-name>
<param-value>/gwt*</param-value>
</init-param>
<init-param>
<param-name>ilog.rules.teamserver.security-check-exclusion-patterns</param-name>
<param-value>^https?:\/\/(.*)\/(.*)(\.js|\.css|\.ico|\.gif|\.png|\.jpg|\.rpc|\.html)$,^https?:\/\/(.*)\/(gwt)\/.*</param-value>
</init-param>
</filter>
阻碍开始讲的400 bad request的问题也正出在其中的securityCheckPointFilter。仔细查看其有参数ilog.rules.teamserver.check-referer ,这正是是否校验http Request header的Referer属性的开关。将其值设置为false即可解决该问题。
上述filter的实现可以反编译odm teamserver应用的teamserver-web-core-8.8.0.0.jar进一步了解。而两应用之间的sso也完全依赖WAS的ltpa机制即可完成。
0 0
- odm teamserver与定制portal sso过程中遇到的Request Headers Referer属性安全性校验问题
- 调试MOST SSO中遇到的问题的解决过程
- JSP中使用request.getHeader("referer")的一些问题
- Request.Form[""]学习过程中遇到的异常问题
- Portal与Domino不能SSO问题
- SSO实践中遇到的问题记录
- 关于request.getHeader("Referer")的问题
- Request Headers 里面的 Accept 属性
- Http Request Headers各属性的作用
- 基于CAS实现单点登录(SSO):分享过程中遇到的问题及解决方案,让你少走弯路
- 关于php开发过程当中遇到的Cannot send session cookie - headers already sent by 问题
- Fragment的使用与学习过程中遇到的问题
- request.getHeader("referer")的作用
- request.getHeader("referer")的作用
- request.getHeader("referer")的作用 .
- request.getHeader(referer)的使用
- request.getHeader("Referer");的使用
- request.getHeader("referer")的作用
- CSS学习(二十二)-flexbox模型之三
- VC++ 绘制简单电子元件
- 基于LTPA的WAS SSO基础配置
- QT14 how to save data in sqlite database with pushbutton
- 110. Balanced Binary Tree
- odm teamserver与定制portal sso过程中遇到的Request Headers Referer属性安全性校验问题
- Bash玩转脚本1之自己的脚本安装程序
- 红帽虚拟化RHEV-PXE批量安装RHEV-H
- 第60课:使用Java和Scala在IDE中实战RDD和DataFrame动态转换操作学习笔记
- Google Test(GTest)使用方法和源码解析——Listener技术分析和应用
- printf函数bug
- BeanFactoryPostProcessor和BeanPostProcessor区别和应用场景
- 数据结构之链表地址
- linux中,某文件的权限是:drw-r--r--,用数值形式表示该权限,则该八进制数为多少?