2012-04-18 4 views
3

두 개의 로그인 페이지가 있는데 하나는 사용자 용이고 다른 하나는 admin 용입니다. 누가 로그인을 시도하는지 알기 위해 /app/admin/login/app/user/login과 같은 URL 패턴이 있다고 생각합니다. 하위 도메인별로 변경할 수 없습니다. 이것은 봄 보안을 사용하는 grails 응용 프로그램입니다. 따라서 기본적으로 모든 로그인 요청은 /j_spring_security_check url로 전송됩니다. 로그인 제출 URL을 /j_spring_security_check에서 /app/$context/login으로 변경하려면 어떻게해야합니까? $ context는 user 또는 admin이 될 수 있습니까?grails spring 보안 사용자 정의 UserDetailsServices 클래스에서 url 매개 변수를 얻는 방법은 무엇입니까?

내가 직면 한 또 다른 문제는 요청 맞춤 매개 변수 UserDetailsServices 클래스를 얻는 방법입니다. 해당 클래스에서는 params을 사용할 수 없으므로 필터 클래스에서와 마찬가지로 params.context을 쓸 수 없습니다.

이것에 대한 통찰력이 있으면 도움이 될 것입니다.
감사합니다.

답변

1
  1. This 게시물은 j_spring_security 질문에 도움이 될 수 있습니다. 이 솔루션은 Grails에서 직접적으로 사용되는 것은 아니지만 Grails를 사용하면 원하는 방식으로 Spring을 사용자 정의 할 수 있습니다.

  2. params에 관한 서비스 계층 질문 : params는 Controller에 대한 암시 적 HttpRequest.parameters 객체입니다. 서비스 계층에서 Http 인식을 기대해서는 안됩니다.

그래서 우리는 서비스 계층에서이를 참조 할 수 없습니다. 내 충고는 그것을 서비스 클래스 메소드의 인수로 전달하는 것입니다.

+0

링크가 작동하지 않습니다. – boring

+1

그게 나를 위해 일하고. 기본적으로 이것에 대해 이야기합니다 : http://static.springsource.org/spring-security/site/docs/3.0.x/apidocs/org/springframework/security/web/authentication/UsernamePasswordAuthenticationFilter.html – rk2010