cas server 端部署

举报
码农小胖哥 发表于 2022/03/31 00:34:21 2022/03/31
【摘要】   首先在 was7.0 上安装 cas-server-webapp-3.4.8.war 安装完成后 , 启动时会报错。 1.     日志中会提示 persistence.xml 中的 version 属性为【 1 】。将 \cas-server-web...

 

首先在 was7.0 上安装 cas-server-webapp-3.4.8.war

安装完成后 , 启动时会报错。

1.     日志中会提示 persistence.xml 中的 version 属性为【 1 】。将 \cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\classes\META-INF\persistence.xml  

version="2.0" 改为  version="1.0"

2.    会提示一些类的方法找不到,原因是由于 jar 包冲突 , 需要就将 \cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\lib\hibernate-jpa-2.0-api-1.0.0.Final.jar  删除 . 建议复制到其他目录 , 以免出现错误 , 无法返回 .

然后修改以下配置文件中的内容,去除( https 安全认证的验证方式),可以免除数字证书的生成的导入。

1\cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\spring-configuration\warnCookieGenerator.xml  p:cookieSecure="true" 改为  p:cookieSecure="false"
2.\cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml  p:cookieSecure="true" 改为  p:cookieSecure="false"
3.\cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\deployerConfigContext.xml    
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />
改为
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" p:requireSecure="false" />

<?xml:namespace prefix = ons = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>

最后将以下文件中的请求地址改为 cas server 所在的地址和端口。

\cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\cas.properties

二 casclient端部署,这边比较简单,主要是修改web.xml.具体内容如下:(当客户端需要部署在was上时,需要使用websphere7.0.0.7及以上的版本。本人在was7.0.0.0上测试部署客户端时,遇到客户端请求不能被拦截跳转等问题。)
1. 首先导入jar包 : cas-client-core-3.2.0.jar
2. 修改web.xml,添加以下内容


   
  1. <!-- 该过滤器用于实现单点登出功能,可选配置。-->
  2. <!--用于单点退出,该过滤器用于实现单点登出功能,通知其他应用单点登出-->
  3. <listener>
  4. <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
  5. </listener>
  6. <filter>
  7. <filter-name>CASSingle Sign OutFilter</filter-name>
  8. <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
  9. </filter>
  10. <filter-mapping>
  11. <filter-name>CASSingle Sign OutFilter</filter-name>
  12. <url-pattern>/*</url-pattern>
  13. </filter-mapping>
  14. <!-- 该过滤器负责用户的认证工作,必须启用它-->
  15. <filter>
  16. <filter-name>CASAuthenticationFilter</filter-name>
  17. <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  18. <init-param>
  19. <param-name>casServerLoginUrl</param-name>
  20. <!--下面这个地址是cas server端的登录请求地址 -->
  21. <param-value>http://localhost:9080/cas/login</param-value>
  22. </init-param>
  23. <init-param>
  24. <param-name>serverName</param-name>
  25. <!--下面这个地址是本应用所部署的访问地址,不加上下文 -->
  26. <param-value>http://localhost:8080</param-value>
  27. </init-param>
  28. <init-param>
  29. <param-name>renew</param-name>
  30. <param-value>false</param-value>
  31. </init-param>
  32. <init-param>
  33. <param-name>gateway</param-name>
  34. <param-value>false</param-value>
  35. </init-param>
  36. </filter>
  37. <filter-mapping>
  38. <filter-name>CASAuthenticationFilter</filter-name>
  39. <url-pattern>/*</url-pattern>
  40. </filter-mapping>
  41. <!-- 该过滤器负责对Ticket的校验工作,必须启用它-->
  42. <filter>
  43. <filter-name>CASValidation Filter</filter-name>
  44. <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
  45. <init-param>
  46. <param-name>casServerUrlPrefix</param-name>
  47. <!--下面这个地址是cas server端的地址 -->
  48. <param-value>http://localhost:9080/cas</param-value>
  49. </init-param>
  50. <init-param>
  51. <param-name>serverName</param-name>
  52. <!--下面这个地址是本应用所部署的访问地址,不加上下文 -->
  53. <param-value>http://localhost:8080</param-value>
  54. </init-param>
  55. <init-param>
  56. <param-name>useSession</param-name>
  57. <param-value>true</param-value>
  58. </init-param>
  59. <init-param>
  60. <param-name>redirectAfterValidation</param-name>
  61. <param-value>true</param-value>
  62. </init-param>
  63. </filter>
  64. <filter-mapping>
  65. <filter-name>CASValidation Filter</filter-name>
  66. <url-pattern>/*</url-pattern>
  67. </filter-mapping>
  68. <!--
  69. 该过滤器负责实现HttpServletRequest请求的包裹,比如允许开发者通过HttpServletRequest 的
  70. getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
  71. -->
  72. <filter>
  73. <filter-name>CASHttpServletRequest WrapperFilter</filter-name>
  74. <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
  75. </filter>
  76. <filter-mapping>
  77. <filter-name>CASHttpServletRequest WrapperFilter</filter-name>
  78. <url-pattern>/*</url-pattern>
  79. </filter-mapping>
  80. <!--
  81. 为每一个线程创建资源副本
  82. -->
  83. <filter>
  84. <filter-name>CASAssertion Thread LocalFilter</filter-name>
  85. <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
  86. </filter>
  87. <filter-mapping>
  88. <filter-name>CASAssertion Thread LocalFilter</filter-name>
  89. <url-pattern>/*</url-pattern>
  90. </filter-mapping>
  91. <!--
  92. 自动根据单点登录的结果设置本系统的用户信息,可以从cas中获取登录用户的登录账户,通过此账户在本系统获取登录用户的相关信息
  93. -->
  94. <filter>
  95. <display-name>AutoSetUserAdapterFilterImp</display-name>
  96. <filter-name>AutoSetUserAdapterFilterImp</filter-name>
  97. <filter-class>com.common.view.filter.AutoSetUserAdapterFilterImp</filter-class>
  98. </filter>
  99. <filter-mapping>
  100. <filter-name>AutoSetUserAdapterFilterImp</filter-name>
  101. <url-pattern>/*</url-pattern>
  102. </filter-mapping>


三 cas配置LDAP验证机制
1. 在cas server端\cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\lib下,加入cas-server-support-ldap-3.4.8.jar,spring-ldap-core-1.3.1.RELEASE.jar,spring-ldap-core-tiger-1.3.1.RELEASE.jar三个jar包
2.修改\cas-server-webapp-3_4_8_war.ear\cas-server-webapp-3.4.8.war\WEB-INF\deployerConfigContext.xml.注意其中修改内容需和实际部署的环境保持一致,如:请求地址,用户名,密码,以及LDAP中的node结构等。
A. 增加
<bean id="contextSource"class="org.springframework.ldap.core.support.LdapContextSource">
<property name="pooled" value="true"/>
<property name="urls">
<list>
<value>ldap://10.48.1.140:389/</value>
</list>
</property>
<property name="userDn"value="cn=root"/>
<property name="password" value="chinasofti"/>
<propertyname="baseEnvironmentPropertie
s">
<map>
<entry key="java.naming.security.authentication"value="simple" />
</map>
</property>
</bean>
B. 将
<beanclass="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswo
rdAuthenticationHandler"/>
修改为:
<beanclass="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticati
onHandler">
<property name="filter"value="uid=%u,cn=users,DC=HNZY,DC=COM" />
<property name="contextSource" ref="contextSource"/>
</bean>

文章来源: felord.blog.csdn.net,作者:码农小胖哥,版权归原作者所有,如需转载,请联系作者。

原文链接:felord.blog.csdn.net/article/details/53420298

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。