블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
04-24 09:12
 

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
 

최근에 올라온 글

최근에 달린 댓글

...
<Status><StatusCode Value="samlp:Success"></StatusCode></Status>
...

Response SAML에서는 저런식으로 Success가 나오는데...

javax.servlet.ServletException: org.jasig.cas.client.validation.TicketValidationException: No valid assertions from the SAML response found.
클라이언트에서 로그인할 때 저런 메시지가 나온다면...

CAS 서버나 클라이언트의 시간을 확인해보시면 됩니다.
서버 시간이 클라이언트 시간보다 말도 안되게 느리면 나오는 문제입니다.


지난 번에 당근아저씨가 겪언던 문제라 1시간만 삽질하고 해결!!!


tolerance 가 작게 잡혀 있으면 서버시간 보다 클라이언트 시간이 조금만 느려도... 문제가 발생하네요...

쩝;;;


Posted by 자수씨
, |

http://www.ja-sig.org/downloads/cas-clients/php/ 에서 최신버전 phpCAS 모듈을 내려받습니다.

CAS-[버전] 디렉토리 밑에 CAS, docs 디렉토리와 CAS.php 파일을 해당 php 프로젝트 루트에 붙여넣습니다.

include 페이지 수정

해당 로직을 include 페이지 상단에 삽입합니다. (서버 설정에 따라 붉은 볼드 부분은 변경될 수 있습니다.)

<?php

 

//

// phpCAS simple client

//

 

// import phpCAS lib

include_once('CAS.php');

 

phpCAS::setDebug();

 

// initialize phpCAS

phpCAS::client(CAS_VERSION_2_0,'sso-cas.univ-rennes1.fr',443,'');

 

// no SSL validation for the CAS server

phpCAS::setNoCasServerValidation();

 

// force CAS authentication

phpCAS::forceAuthentication();

 

// at this step, the user has been authenticated by the CAS server

// and the user's login name can be read with phpCAS::getUser().

 

// logout if desired

if (isset($_REQUEST['logout'])) {

        phpCAS::logout();

}

 

// for this test, simply print that the authentication was successfull

?>


Web Application
을 재 시작하여 CAS Login 페이지가 나오게 되면 정상입니다.

참고자료: http://www.ja-sig.org/wiki/display/CASC/phpCAS



Posted by 자수씨
, |

https://sourcesup.cru.fr/projects/cas4net 에서 casModule을 다운받습니다.

압축을 풀고 casModule.dll 파일을 어플리케이션의 bin 디렉토리에 casModule.dll 파일을 붙여 넣습니다.


CAS Server에 대한 URL을 설정합니다.

<appSettings>

        <add key="loginUrl" value="https://cas.server/login" />

        <add key="validateUrl" value="https://cas.server/serviceValidate" />

        <add key="logoutUrl" value="https://cas.server/logout" />

</appSettings>

‘CasModule’ httpModule  system.web 섹션 내부에 추가합니다.

<system.web>

        ...

        <httpModules>

               <add name="CasModule" type="Upmc.CasModule.CasModule, CasModule"/>

        </httpModules>

        ...

</system.web>

system.web 섹션에 인증과 권한을 설정합니다.

<system.web>

        ...

        <authentication mode="None">

        </authentication>

        <authorization>

               <allow users="*"/>

        </authorization>

        ...

</system.web>

Web Application을 재 시작하여 CAS Login 페이지가 나오게 되면 정상입니다.


참고자료: http://www.ja-sig.org/wiki/display/CASC/.Net+Http+module


Posted by 자수씨
, |

아래 사이트에서 최신버전 CAS Client를 다운받습니다.

http://www.ja-sig.org/downloads/cas-clients/cas-client-3.1.10-release.zip

다운 받은 라이브러리에서 /modules 디렉토리에 있는 jar 파일들을 /WEB-INF/lib 에 배포합니다.

web.xml 수정

Web application web.xml에 다음과 같은 servlet-filter를 추가합니다.

<!-- 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://cas.institution.edu/cas/login</param-value>

  </init-param>

  <init-param>

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

    <param-value>https://jira.institution.edu/jira/</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://cas.institution.edu/cas</param-value>

    </init-param>

    <init-param>

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

        <param-value>https://jira.institution.edu/jira/</param-value>

    </init-param>

    <init-param>

        <param-name>redirectAfterValidation</param-name>

        <param-value>true</param-value>

    </init-param>

</filter>

<!--- CAS:END -->

     붉은 색 볼드 형식은 추후 설정에 따라 바뀔 수 있습니다.

servlet-filter mapping이 되는 filter-mapping을 추가합니다.

해당 Web application의 시작 페이지가 /login.jsp라면 아래와 같이 설정을 합니다.

<!-- CAS:START - Java Client Filter Mappings -->

<filter-mapping>

   <filter-name>CasSingleSignOutFilter</filter-name>

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

</filter-mapping>

<filter-mapping>

    <filter-name>CasAuthenticationFilter</filter-name>

    <url-pattern>/login.jsp</url-pattern>

</filter-mapping>

<filter-mapping>

    <filter-name>CasValidationFilter</filter-name>

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

</filter-mapping>

<!-- CAS:END -->

Single Sign Out listener를 추가합니다.

<!-- CAS:START - Java Client Single Sign Out Listener -->

<listener>

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

</listener>

<!-- CAS:END -->

Web Application을 재 시작하여 CAS Login 페이지가 나오게 되면 정상입니다.


참고자료: http://www.ja-sig.org/wiki/display/CASC/CAS+Client+for+Java+3.1

 

 

Posted by 자수씨
, |

CAS Client는 WAS의 web.xml에 filter설정에 의하여 동작을 하게됩니다.
역시 구축 시에 정리해 놓는 것이 좋을 듯하여 슥삭슥삭... (물론 틀릴 가능성은 많습니다 ㅋㅋㅋ)




참고 페이지: http://www.ja-sig.org/wiki/display/CASC/Configuring+the+JA-SIG+CAS+Client+for+Java+in+the+web.xml





Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백