2014-05-01 2 views
0

나는이 site.i에 아파치 시로를 사용하고 있습니다. 로그인 페이지에서 문제가 발생했습니다. 로그인 하셨다면이 페이지에 대한 액세스를 제한하고 싶습니다. .page는 "이봐, 너 어서왔다!"라고 다른 페이지 (for.ex : home.jsf)로 안내합니다. 이미 shiro 웹 필터로 전달할 수 있습니까? shiro.ini아파치 시로 필터에 대해서

[urls] 
/login.xhtml = anon 

답변

0

여기에 튜토리얼 읽기 : 사용자가 이미 로그인 할 때 내가 리디렉션 할

[main] 
shiro.loginUrl = /login.xhtml 

[urls] 
/login.xhtml = authc 

:

http://shiro.apache.org/webapp-tutorial.html

당신의 INI에 변경

을 서블릿 또는 필터에서 다음 Java 코드를 사용하여이를 수행 할 수 있습니다.

자세한 내용은
if (SecurityUtils.getSubject().isAuthenticated()){ 
    response.sendRedirect(request.getContextPath() + "/home.jsf"); 
} 

이 게시물에 체크 아웃 : reply.but에 대한 How to redirect already authenticated user from login page to home page

+0

덕분에 난 당신이 로그인 것을 again.assuming 같은 문제에 봉착를 (로컬 호스트 : 8080/login.jsf) 집에 리디렉션. jsf. 다시 로그인하면 같은 URL (localhost : 8080/login.jsf)이 열립니다. 같은 화면이 있습니다. "하지만 로그인 했습니까? 무슨 일입니까? 아직 로그 아웃하지 않았습니다. 다시 로그인하길 원하니? " 다시 로그인하면 세션이 닫히지 않아 같은 화면에서 아무 일도 일어나지 않습니다. 로그온하면 로그 오프 할 때까지 페이지를 열지 않습니다. 나는 어떻게 할 수 있니? 나는 나쁜 영어로 사과한다. – user3565914

+0

은 답변에 대한 추가 정보를 – Wouter

+0

에 추가했습니다. http://stackoverflow.com/questions/8399045/conditional-redirection-in-jsf/8399591#8399591 매우 빠른 해결책 덕분에 – user3565914

관련 문제