2017-04-13 10 views
0

로컬 컴퓨터에서 tackering/hacking을 위해 독립 실행 형 CAS 5 인스턴스를 사용하고 있으며이를 Tomcat에 배포 된 독립 실행 형 WAR 파일로 설정하려고합니다. 간단한 파일 기반 인증.CAS 5에서 파일 기반 인증을 사용하는 방법

WAR 오버레이 템플릿 (https://github.com/apereo/cas-overlay-template)부터 시작하여 https://apereo.github.io/cas/5.0.x/installation/Whitelist-Authentication.html#example-password-file에 표시된대로 다음 종속성을 추가했습니다.

<dependency> 
     <groupId>org.apereo.cas</groupId> 
     <artifactId>cas-server-support-generic</artifactId> 
     <version>${cas.version}</version> 
    </dependency>   

나는 다음 src/main/resources에 다음 내용을 간단한 passwd.txt 파일을 만들었습니다.

bob::bob 
alice::alice 

마지막으로, 나는 etc/cas/config/cas.properties에 파일 기반의 속성을 (로 페놀 https://apereo.github.io/cas/5.0.x/installation/Configuration-Properties.html#file-authentication)를 추가했다.

cas.authn.file.filename=classpath:passwd.txt 
cas.authn.accept.users= 
cas.authn.file.passwordEncoder.type=NONE 
cas.authn.file.separator=:: 

내가 응용 프로그램을 배포

는 응용 프로그램이 시작하지만, 로그인 폼에서 허용되는 유일한 사용자는 casuser/ Mellon (기본값)입니다. 심지어 cas.authn.policy.any.tryAll=true 파일을 cas.properties 파일에 붙이려고했지만 Alice도 Bob도 인식되지 않습니다.

어딘가 다른가요?이 옵션을 설정해야합니까? 파일 기반 인증을 사용하기 위해해야 ​​할 일이 있습니까?

답변

0

이 문제에 너무 많은 시간을 소비 한 후, 나는 다른 사람들에게 두통을 남기고 싶었습니다. 여기서 핵심은 내가 /etc/cas/config/cas.properties을 수정하고 있다는 것입니다. 서블릿 컨테이너에 배포하기 위해 독립 실행 형 WAR를 컴파일 할 때 의도 된 효과가 없습니다. 내 생각 엔 (검증없이) 이것은 실행 가능한 JAR을 생성하는 경우 조금 다르게 작동한다는 것이다.

나는 결국 /etc/cas/config/cas.properties의 모든 항목을 주석 처리하고 /src/main/resources/application.properties으로 옮기는 작업을 수행했습니다. 이것은 효과가 있었지만 org.springframework.beans.factory.BeanCreationException: Cannot create binder factory, no META-INF/spring.binders resources found on the classpath에 대한 일부 모호한 오류가 발생했습니다.

나는 https://groups.google.com/a/apereo.org/d/msg/cas-user/doLj6Aa10u8/2o9urrQpCwAJ의 제안을 따라 /src/main/resources/application.properties에 기본 구성을 복사, 위의 cas.authn.* 옵션을 추가, 재건, 재배치 및 모든했다.

독립 실행 형 WAR 오버레이를 설정하는 가장 좋은 방법은 제공되는 템플릿을 가져 와서 CAS 소스 코드 (이 글에서 https://github.com/apereo/cas/blob/958a9fbb87fb728875a7a35ee45124e818f90b17/webapp/resources/application.properties)의 기본 설정을 복사하고 문서에서 지정한 Maven 종속성을 추가하는 것입니다 그런 다음 속성을 추가/수정하여 원하는 효과를 얻습니다.