2.2.2에서 버그를 피하기 위해 grails 2.2.2에서 grails 2.3.4로 마이그레이션합니다. 봄 보안 속성 메시지의 텍스트 값은 표시되지 않지만 모든 종류의 문제를 다루고 있습니다. 전에는 효과가 있었지만 지금은 그렇지 않습니다.Grails Spring Security 2.0에서 로그인/페이지를 만드는 방법은 무엇입니까?
문제
내가 Grails의 응용 프로그램을 실행하면, 초기 기본 페이지가 표준 기능입니다 의 index.gsp하지만 봄 보안 핵심 봄 보안 LDAP 및 스프링 securiy의 UI 플러그인 I 설치 및 구성 후 /login/auth 내 기본 페이지를 만들고 싶습니다. 이전 릴리스에서
, 나는 단순히, 주석 교체하거나이 하나"/"(view:"/login/auth")
내 구성이 줄을
"/"(view:"/index")
을 삭제하여 UrlMappings.groovy 설정 파일을 통해 수행했다 .groovy가 설정되어 인증이 성공하면 집으로 이동합니다.
grails.plugin.springsecurity.userLookup.userDomainClassName = 'security.Person'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'security.PersonAuthority'
grails.plugin.springsecurity.authority.className = 'security.Authority'
grails.plugin.springsecurity.requestMap.className = 'security.Requestmap'
grails.plugin.springsecurity.securityConfigType = 'Requestmap'
grails.plugin.springsecurity.successHandler.defaultTargetUrl = '/home/'
와 부트 스트랩 내 Requestmap 항목 (그들은이 문제에 대한 어떤 중요한 경우 다음과 같습니다) :
for (String url in [
'/', '/index', '/index.gsp', '/**/favicon.ico',
'/**/js/**', '/**/css/**', '/**/images/**',
'/login', '/login.*', '/login/*',
'/logout', '/logout.*', '/logout/*']) {
new Requestmap(url: url, configAttribute: 'permitAll').save()
}
new Requestmap(url: '/home/*', configAttribute: 'IS_AUTHENTICATED_FULLY').save()
내가 할 때 로그인/인증가 온다 ... 유레카 것을집니다 응용 프로그램이 시작 되 자마자 올바른 인증 자격 증명을 입력하면 인증되지 않은 것처럼 '약간의 깜박임'이 나타나며 다시 표시됩니다.
그러나, 나는이 라인
"/"(view:"/login/auth")
을 삭제하고
"/"(view:"/index")
다시이 1 점을 추가하는 듯 내가 수동으로 로그인/인증에 응용 프로그램 I를 다시 시작할 때 다음 올바른을 넣으면 자격 증명을 입력하면 올바르게 홈 페이지로 이동합니다.
질문
내가 로그인/인증 첫 번째 페이지를 만들 것 어디서나 설정 어떤 설정을 그리워 (뿐만 아니라 저를 인증 할 수 있도록) 했습니까?
별도의 게시 된 질문이 있어야할지 모르겠지만 디자인에 의해 플러그인의 일부인 로그인 페이지가 생성되고 코드의 일부가 생성되고 내 의지에 따라 스타일을 지정할 수 있습니다. 보기를 사용자 정의하려면 LoginController과 Auth.gsp을 복사하여 붙여야 하나 더 좋은 방법이 있습니까?
미리 감사드립니다.
하여 기본 로그인 URL
/login/auth
을 시도 할 수 있습니다 전구를 들고. 보기와 내 자신의 auth.gsp에서 로그인 폴더를 만듦으로써 로그인 화면을 사용자 정의 할 수있었습니다. LoginController를 내 코드베이스에 복사 할 필요가 없습니다. – Viriato"봄 보안은 추천 URL을 추적하여 작동합니다"라는 메시지가 내 응용 프로그램의 문제점을 파악하는 데 도움이되었습니다. 로그인 페이지는 사용자가 링크를 통해 로그인 페이지에 가기 전에 표시된 기본 페이지의 Javascript에 의해 호출 된 URL로 계속 리디렉션되었습니다. 이 URL은 스프링 보안에 의해 보호 되었기 때문에 스크립트가 액세스 할 수 없다는 것을 알았습니다. 실패한 시도에서 Spring Security는 로그인 후 URL을 기억할 것입니다. 당신의 힌트로, 나는 그 URL을 로그인없이 액세스 할 수있는 페이지 목록에 추가했습니다. 잘 됐어. – HumanInDisguise