CAS 단일 로그 인 테스트 응용

이전 항목(카 스 의 단일 로그 인 사용)에서 사용자 가 로그아웃 한 후에 다른 응용 프로그램 에 도 접근 할 수 있 습 니 다.시간 문제 에 대해 깊이 연구 하지 않 았 기 때문에 이번 에는 세 개의 간단 한 로그 인 프로그램 을 사용 하여 다시 한 번 카 스 단일 로그 인 문 제 를 검증 했다.이번에 사용 한 버 전 은 client 3.1.1 과 server 3.4.2 로 프로젝트 에서 사용 하 는 카 스 보다 훨씬 간단 한 것 같 습 니 다.
1.먼저 tomcat 의 https 프로 토 콜 을 배치 합 니 다(이전의 http://danwind.iteye.com/blog/603402 을 참고 하여 중복 되 지 않 습 니 다).
2.그리고 CAS Server 3.4.2 Final 과 ca-client-3.1.10-release.zip 를 다운로드 하 세 요.
3.CAS Server 를 압축 해제 하고 그 중의 war 파일 을 tomcat 디 렉 터 리 에 복사 하면 cas server 를 실행 할 수 있 습 니 다.기본 인증 방식 은 사용자 이름과 비밀번호 가 같 으 면 로그 인 에 성공 합 니 다.
4.단일 로그 인 애플 리 케 이 션 에 웹.xml 파일 을 추가 하려 면 다음 옵션 을 추가 합 니 다.
<!-- CAS:START - Java Client Filters -->
<filter>
   <filter-name>CasSingleSignOutFilter</filter-name>
   <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter>
  <filter-name>CasAuthenticationFilter</filter-name>
  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  <init-param>
    <param-name>casServerLoginUrl</param-name>
    <param-value>https://st.mydomain.ttd:8448/cas/login</param-value>
  </init-param>
  <init-param>
    <param-name>serverName</param-name>
    <param-value>http://st.mydomain.ttd:8088</param-value>
  </init-param>
</filter>
<filter>
    <filter-name>CasValidationFilter</filter-name>
    <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
    <init-param>
        <param-name>casServerUrlPrefix</param-name>
        <param-value>https://st.mydomain.ttd:8448/cas</param-value>
    </init-param>
    <init-param>
        <param-name>serverName</param-name>
        <param-value>http://st.mydomain.ttd:8088</param-value>
    </init-param>
    <init-param>
        <param-name>redirectAfterValidation</param-name>
        <param-value>true</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>CasSingleSignOutFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>CasAuthenticationFilter</filter-name>
 <!-- <url-pattern>/login.action</url-pattern> -->
  <url-pattern>/*</url-pattern>   
</filter-mapping>
<filter-mapping>
    <filter-name>CasValidationFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

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

 
5.로그 인 한 사용자 String user=(String)request.getRemoteUser()받 기;
로그 인 response.sendRedirect("https://st.mydomain.ttd:8448/cas/logout")를 취소 합 니 다.
이 클립 스 프로젝트 파일 을 첨부 하여 테스트 를 추가 하려 면 이 프로그램 을 복사 하면 됩 니 다.

좋은 웹페이지 즐겨찾기