jasig cas单点登录配置笔记之二

cas客户端下载链接: http://downloads.jasig.org/cas-clients/


cas客户端指接入cas的web服务项目,作者用Tomcat6环境搭建一个简单web程序.


web程序的Context root为:testWeb1,


主要程序和配置文件为三个,


HelloWorld.java    这是一个标准servlet程序

web.xml       标准的web配置文件,

NewFile.jsp  一个标准的jsp文件



项目还需要引入cas-clients的jar文件,文件位于C:\Users\Administrator\Downloads\cas-client-3.1-release\cas-client-3.1\modules下


jasig cas单点登录配置笔记之二_第1张图片

将这些文件都引入web项目.



然后,启动运行Tomcat6.环境为JDK1.6


在IE中输入地址:

http://localhost:8180/testWeb1/NewFile.jsp

跳转到Cas服务认证页面,输入用户名和密码


结果页面输出:

这是一个测试业务! 用户名per001


在IE中输入地址:

http://localhost:8180/testWeb1/servlets/servlet/HelloWorldExample

结果页面输出:

Hello World!per001


下面附上程序代码和配置文件内容:

HelloWorld.java内容:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

import org.jasig.cas.client.authentication.AttributePrincipal;

public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();
        String username = principal.getName();
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!"+username+"</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}


NewFile.jsp内容:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="org.jasig.cas.client.authentication.AttributePrincipal"%>
<!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>Insert title here</title>
</head>
<body>
这是一个测试业务!
<%

AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();

String username = principal.getName();
%>
用户名<%=username %>
</body>
</html>



web.xml内容:

<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>testWeb1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
    <context-param>
        <param-name>serverName</param-name>
        <param-value>http://localhost:8180</param-value>
    </context-param>
 
 <filter>
  <filter-name>CAS Authentication Filter</filter-name>
  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  <init-param>
    <param-name>casServerLoginUrl</param-name>
    <param-value>http://localhost:8080/casweb/login</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>
        <param-name>casServerUrlPrefix</param-name>
        <param-value>http://localhost:8080/casweb</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-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>
      <servlet>
        <servlet-name>HelloWorldExample</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorldExample</servlet-name>
        <url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
    </servlet-mapping>    
      
</web-app>


你可能感兴趣的:(工作)