2016-10-11 10 views
0

cas를 사용하는 Zeppelin에서 shiro.ini를 가져 오는 데 실패했습니다. 나는이 지침 http://shiro.apache.org/cas.htmlShiro with Zeppelin

casFilter = org.apache.shiro.cas.CasFilter 
casFilter.failureUrl = /error.html 

casRealm = org.apache.shiro.cas.CasRealm 
casRealm.defaultRoles = USER 
casRealm.casServerUrlPrefix = https://ticketserver.com 
casRealm.casService = https://tickettranslater.com/j_spring_cas_security_check 

casSubjectFactory = org.apache.shiro.cas.CasSubjectFactory 
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager 
securityManager.subjectFactory = $casSubjectFactory 
securityManager.realms = $casRealm 

### If caching of user is required then uncomment below lines 
#cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager 
#securityManager.cacheManager = $cacheManager 
securityManager.sessionManager = $sessionManager 
# 86,400,000 milliseconds = 24 hour 
#securityManager.sessionManager.globalSessionTimeout = 86400000 
shiro.loginUrl = /api/login 


[urls] 
# anon means the access is anonymous. 
# authcBasic means Basic Auth Security 
# authc means Form based Auth Security 
# To enfore security, comment the line below and uncomment the next one 
/api/interpreter/** = authc, roles[USER] 
/api/configurations/** = authc, roles[USER] 
/api/credential/** = authc, roles[SOMEOTHER] 
/api/login = casFilter 
/** = authc 
#/** = anon 
#/** = authc 

casService는 사용자에게 티켓을 번역해야 무엇을 따랐다. casServerUrlPrefix는 한 번 진드기를 얻습니다. shiro.loginUrl = https://ticketserver.com?service=https://tickettranslater.com/j_spring_cas_security_check 경우에 따라 Origin 헤더가 길을 잃고 로그인에 실패하는 경우를 제외하고는 작동합니다.

tickeserver.com과 tickertranslater는 네트워크에 있으며 다른 많은 응용 프로그램에서 작동합니다.

cas 로그인 체인이 올바르게 처리되도록 shiro.ini를 어떻게 설정합니까?

답변

0

이 구성은 Apache Zeppelin 0.6.2에서 작동합니다.

CAS 서버에 대해 이미 인증을받은 경우 자동으로 Apache Zeppelin에 인증됩니다.

<dependencies> 
    <dependency> 
    <groupId>org.apache.shiro</groupId> 
    <artifactId>shiro-cas</artifactId> 
    <version>1.2.3</version> 
    </dependency> 
</dependencies> 

그런 다음에 파일의 conf /가 shiro.ini 구성 :

당신은 비행선 - 웹/pom.xml 파일에 시로-CAS 메이븐 종속성을 추가 할 필요가 최초의 비행선 - 웹을 컴파일 할 필요가 있지만, 이 :

[main] 
casFilter = org.apache.shiro.cas.CasFilter 
casFilter.failureUrl = /404.html 

casRealm = org.apache.shiro.cas.CasRealm 
casRealm.defaultRoles = ROLE_USER 

casRealm.casServerUrlPrefix = http://<cas-server>:<port>/cas/p3 
casRealm.casService = http://localhost:8080/api/shiro-cas 

casSubjectFactory = org.apache.shiro.cas.CasSubjectFactory 
securityManager.subjectFactory = $casSubjectFactory 
securityManager.realms = $casRealm 

sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager 

securityManager.sessionManager = $sessionManager 
securityManager.sessionManager.globalSessionTimeout = 86400000 

[urls] 
/api/shiro-cas = casFilter 
/api/version = anon 
/** = authc