SSM整合CAS单点登录

目录

创建maven工程

添加tomcat

引入maven依赖

 配置webapp\web.xml

在resource下创建applicaiton.properties

 创建index.jsp进行登录/退出测试

启动tomcat进行验证


创建maven工程

添加tomcat

这个tomcat应该都会,就不多说了

并且自己把webapp加进去 

引入maven依赖

<packaging>war</packaging>
    
    <dependencies>
        <!-- cas -->
        <dependency>
            <groupId>org.jasig.cas.client</groupId>
            <artifactId>cas-client-core</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

 配置webapp\web.xml

注意:ip和端口号要配置成 自己CAS服务器上的IP      和自己客户端(client)上的ip和端口号

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

    <!-- 退出登录监听器过滤器-->

    <filter>
        <filter-name>casSingOutFilter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
                    <!--   CAS服务器的ip和端口号-->      
            <param-value>http://localhost:8080/cas</param-value>
        </init-param>
        <init-param>
            <param-name>order</param-name>
            <param-value>1</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>casSingOutFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--登录认证过滤器-->
    <filter>
        <filter-name>CASFilter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <!--   CAS服务器的ip和端口号-->    
            <param-value>http://localhost:8080/cas</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
                <!--   自己客户端的ip和端口号-->    
            <param-value>http://localhost:9001</param-value>
        </init-param>
        <init-param>
            <param-name>order</param-name>
            <param-value>3</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CASFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 凭据认证过滤器-->
    <filter>
        <filter-name>casValidationFilter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <!--   CAS服务器的ip和端口号-->    
            <param-value>http://localhost:8080/cas</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <!--   自己的ip和端口号-->    
            <param-value>http://localhost:9001</param-value>
        </init-param>
        <init-param>
            <param-name>order</param-name>
            <param-value>4</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>casValidationFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 针对HttpservletRequest请求-->
    <filter>
        <filter-name>CasHttpRequestFilter</filter-name>
        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CasHttpRequestFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 获取登录用户名的过滤器-->
    <filter>
        <filter-name>casLocalFilter</filter-name>
        <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>casLocalFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:application.properties</param-value>
    </context-param>


    <listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

</web-app>

在resource下创建applicaiton.properties

这个不知道有没有用,哈哈哈

cas.validation-type=CAS3

 创建index.jsp进行登录/退出测试

<%@ page language="java" contentType="text/html; charset=utf-8"
         pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>一东易买</title>
</head>
<body>
欢迎来到一东易买
<%=request.getRemoteUser()%>

    <!--这个是cas服务器上的ip和端口号-->
<a href="http://localhost:8080/cas/logout">退出登录1</a>

</body>
</html>

启动tomcat进行验证

验证成功!!

猜你喜欢

转载自blog.csdn.net/wang20000102/article/details/132838937