Grails 애플리케이션에서 스프링 보안을 성공적으로 사용하는 데 문제가 있습니다. 그때, 스프링 보안 코어 플러그인을 설치 초기 설치 수행 할 명령을 실행 :부트 스트랩 중 null SecurityContext를 리턴하는 스프링 보안
ReUser 및 ReRole 내 사용자 및 역할 도메인 클래스입니다s2-quickstart my.package ReUser ReRole
, 각각을. 그런 다음 Peter Ledbrook의 Simplified Spring Security 화면에서 설정 지침을 계속 수행했지만 실제로 응용 프로그램을 실행하고 사용자를 인증하려고 할 때 문제가 발생했습니다. 부트 스트랩에서 생성 한 사용자 이름은 BadCredentialsException과 함께 인식되지 않았으며, 사용자, 역할 및 클래스 값을 저장하지 않은 경우였습니다. 그러나 저장된 값은 부트 스트랩에 저장된 값의 개수와 함께 저장됩니다.
web.FilterChainProxy Converted URL to lowercase, from: '/index.gsp'; to: '/index.gsp'
web.FilterChainProxy Candidate is: '/index.gsp'; pattern is /**; matched=true
web.FilterChainProxy /index.gsp at position 1 of 8 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
context.HttpSessionSecurityContextRepository No HttpSession currently exists
context.HttpSessionSecurityContextRepository No SecurityContext was available from the HttpSession: null. A new one will be created.
web.FilterChainProxy /index.gsp at position 2 of 8 in additional filter chain; firing Filter: 'MutableLogoutFilter'
web.FilterChainProxy /index.gsp at position 3 of 8 in additional filter chain; firing Filter: 'RequestHolderAuthenticationFilter'
web.FilterChainProxy /index.gsp at position 4 of 8 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter'
web.FilterChainProxy /index.gsp at position 5 of 8 in additional filter chain; firing Filter: 'RememberMeAuthenticationFilter'
web.FilterChainProxy /index.gsp at position 6 of 8 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
authentication.AnonymousAuthenticationFilter Populated SecurityContextHolder with anonymous token: 'org.sprin[email protected]9055c2bc: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.sprin[email protected]b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
web.FilterChainProxy /index.gsp at position 7 of 8 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
web.FilterChainProxy /index.gsp at position 8 of 8 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
intercept.FilterSecurityInterceptor Public object - authentication not attempted
web.FilterChainProxy /index.gsp reached end of additional filter chain; proceeding with original chain
access.ExceptionTranslationFilter Chain processed normally
context.HttpSessionSecurityContextRepository SecurityContext is empty or anonymous - context will not be stored in HttpSession.
context.SecurityContextPersistenceFilter SecurityContextHolder now cleared, as request processing completed
이 enties를 수행합니다 (: 내 로그에 다음과 같은 순서를 발견 할 때까지
grails.plugins.springsecurity.userLookup.userDomainClassName = 're.sec.ReUser'
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 're.sec.ReUserReRole'
grails.plugins.springsecurity.authority.className = 're.sec.ReRole'
이러한 결과는, 내가 신비화 떠나되었다 :뿐만 아니라, 관련 클래스가 올바르게으로 Config.groovy 파일에서 확인되었다 특히 'SecurityContext는 비어 있거나 익명입니다 - 컨텍스트는 HttpSession에 저장되지 않습니다.'는 부트 스트랩 프로세스 중에 나타나는 모든 사용자 이름/암호를 인식하지 못하는 이유를 설명합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
아니, 나는 그 메모를 놓친 것 같아요. 귀하의 제안은 나를 위해 문제를 해결했습니다. 감사. – user1137128