如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

时间:2022-12-13 17:24:03

接(1),上一篇主要讲述了tomcat和cas server端的部署。

接下来主要还有两个步骤。

注意:为了开启两个tomcat,要把直接配置的tomcat的环境变量取消!!!!!!!!!!

客户端配置mysql数据库登录

首先,在mysql中新建一个名字为test的数据库,新建表名user,添加两列:username和password。

插入一个数据:insert into user(username,password) values(’test’,’test’);

Cas server 4.0.0版本

将cas.war放到tomcat的webapps目录下之后,解压出来cas目录之后,打开其中的WEB-INF目录下的deployerConfigContext.xml文件。

找到如下的地方:

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

这里是原先的cas登录方法,即以casuer/Mellon为帐号/密码登录。修改成如下:

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

这里是添加数据源。

并在下面添加:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

       <property name="driverClassName">

          <value>com.mysql.jdbc.Driver</value>

       </property>

       <property name="url">

          <value>jdbc:mysql://localhost:3306/test</value>

       </property>

       <property name="username">

          <value>root</value>

       </property>

       <property name="password">

          <value>123456</value>

       </property>

    </bean>

现在,我们打开打开cas登录界面,就能以test/test为帐号密码登录了。

 

配置cas客户端

重新解压一个tomcat,命名为tomcat-app。

 

下载cas-client-3.3.2,解压之后,把modules目录下的cas-client-core-3.3.2.jar复制到tomcat-app下的webapps/examples/WEB-INF里的lib目录下。

 

修改conf目录下的server.xml文件

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

主要修改运行端口,防止端口冲突。修改之后的内容如下:

 

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

 

以tomcat自带的examples为例。

首先,打开webapps/examples目录下的WEB-INF目录,打开其中的web.xml文件,添加下面的内容:

 

<!-- ======================== 单点登录开始 ======================== -->

          

                 <filter>

                     <filter-name>CAS Filter</filter-name>

                     <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>

                   <init-param>

                         <param-name>casServerLoginUrl</param-name>

                         <param-value>https://lyt.cas.com:8443/cas/login</param-value>

                   </init-param>

                   <init-param>

                      <param-name>serverName</param-name>

                      <param-value>http://lyt.app.com:18080</param-value>

                   </init-param>

                 </filter>

                 <filter-mapping>

                     <filter-name>CAS Filter</filter-name>

                     <url-pattern>/*</url-pattern> //这里表示访问examples目录下的所有内容时都需要cas认证,也可以改为<url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>,这样的话只有访问helloworld这个例子的时候才会需要cas认证

                 </filter-mapping>

            

                 <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->

                 <filter>

                         

                     <filter-name>CAS Validation Filter</filter-name> 

              <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> 

              <init-param> 

                  <param-name>casServerUrlPrefix</param-name>

                         <param-value>https://lyt.cas.com:8443/cas</param-value>

                     </init-param>

                     <init-param>

                         <param-name>serverName</param-name>

                         <param-value>http://lyt.app.com:18080</param-value>

                     </init-param>

                    

                 </filter>

                

                 <filter-mapping>

                     <filter-name>CAS Validation Filter</filter-name>

                     <url-pattern>/*</url-pattern>

                 </filter-mapping>

                 <!-- ======================== 单点登录结束 ======================== -->

接下来,我们测试一下。

同时运行两个tomcat,在浏览器中输入:lyt.app.com:18080/examples/servlets/servlet/HelloWorldExample

发现自动跳转到cas登录页面。

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

 

输入帐号密码test/test之后,登录成功。跳转到目标页面。

 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

至此cas单点登录初步配置成功。