您的位置:首页 > 其它

cas3.x版本单点登录之一

2015-04-10 15:07 120 查看
由于今天下午公司服务器调试,终于可以抽点时间写点东西了....

cas 单点登录目前最新版本是4.0,先给大家写cas 3.x版本的如果部署环境是weblogic那就使用cas4.0,cas3.x在weblogic上部署有问题

第一步:先下载cas的服务器端支持包:cas-serve3.x.zip(这里我用的是cas-server-3.4.11-release版本,3.5版本和3.4差别不大)

第二步:下载cas有客户端支持包。Cas-client.zip(这里我用的是cas-client-3.2.1-release)

第三步:从cas-server.zip中找到服务器端的程序:



第四步:修改名称为casserver将此程序发布到tomcat的webapps目录下或是配置到别一个独立的虚拟主机

第五步:找到自己的web项目,添加cas-client-core.jar和commons-loggin.jar到mywebapps/WEB-INF/lib目录下。

第六步:找到mywebapps的web.xml添加如下配置(在所有过滤器最上面添加)

<!-- Sign out not yet implemented -->
<!-- 单点登录退出---->
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>

<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<!--配置cas登录完整地址---->
<param-name>casServerLoginUrl</param-name>
<param-value>http://127.0.0.1:8080/casserver/login</param-value>
</init-param>
<init-param>
<!--配置mywebapps所在的服务地址,只需要到服务地址不需要项目名称---->
<param-name>serverName</param-name>
<param-value>http://127.0.0.1:8080</param-value>
</init-param>
<init-param>
<param-name>renew</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>gateway</param-name>
<param-value>false</param-value>
</init-param>
</filter>

<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<!--配置cas服务器的验证地址---->
<param-name>casServerUrlPrefix</param-name>
<param-value>http://127.0.0.1:8080/casserver</param-value>
</init-param>
<init-param>
<!--配置mywebapps所在的服务地址,只需要到服务地址不需要项目名称---->
<param-name>serverName</param-name>
<param-value>http://127.0.0.1:8080</param-value>
</init-param>
</filter>

<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>

<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>

<!-- ************************* -->

<!-- Sign out not yet implemented -->

<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/proxyCallback</url-pattern>
</filter-mapping>

<!-- *********************** -->

<!-- Sign out not yet implemented -->
<!-- -->
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>

<!-- *********************** -->



第七步: 修改Cookie的生成方式:

       默认生成的Cookie,只有在访问https时才会带上。取消此限制,修改casserver程序中的spring配置文件:

ticketGrantingTicketCookieGenerator.xml

如下:



至此一个简易的cas单点登录配置完成,测试登录即可,默认情况下,使用相同的名称和密码进行登录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cas单点登录