一、实现过程
从用到的jar包文件夹的cas-server-3.3.1modules中找出cas.war放到tomcat/webapps下面(cas-server-webapp-3.3.1.war重命名即可)。
现在cas默认的server端已经有了,下面自己写2个客户端测试一下
MyEclipse里面新建web project:sso
新建类HelloWorldExample
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public final class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.println("<html>");
writer.println("<head>");
writer.println("<title>Sample Application Servlet
Page</title>");
writer.println("</head>");
writer.println("<body bgcolor=white>");
writer.println("<table border=\"0\">");
writer.println("<tr>");
writer.println("<td>");
writer.println("<img src=\"images/tomcat.gif\">");
writer.println("</td>");
writer.println("<td>");
writer.println("<h1>Sample Application Servlet</h1>");
writer.println("This is the output of a servlet that is part of");
writer.println("the Hello, World application.");
writer.println("</td>");
writer.println("</tr>");
writer.println("</table>");
writer.println("</body>");
writer.println("</html>");
}
}
在web.xml文件添加CASFilter与servlet映射。
<?xml version="1.0" encoding="GB18030"?>
<web-app version="2.4"
xmlns="/xmls/j2ee"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/xmls/j2ee
/xmls/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-cla ss>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://:8443/cas/login</param-value> </init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name >
<param-value>https://:8443/cas/serviceValidate</param-val ue>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>HelloWorldExample</servlet-name>
<servlet-class>servlet.HelloWorldExample</servlet-class> </servlet>
<servlet-mapping>
<servlet-name>HelloWorldExample</servlet-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern> </servlet-mapping>
</web-app>
同样,再建一个web project : sso1
HelloWorldExample与web.xml直接从sso中copy即可。
二、效果展示:
输入网址:8080/sso/servlet/HelloWorldExample会自动跳转到以下页面(https://:8443/cas/login?service=http%3A%2F%%3A8080%2Fsso%2Fservle t%2FHelloWorldExample):
输入用户名和密码后(:8080/sso/servlet/HelloWorldExample?ticket=ST-1-FFcLusvRh9KSM3Jfaq5R-ca
s):
输入网址:8080/sso1/servlet/HelloWorldExample会自动跳转到以下页面(:8080/sso1/servlet/HelloWorldExample?ticket=ST-2-jokjNZqeYQ52P0hBGQeF-cas):。