방금 grails를 사용하기 시작했고 spring-security 및 spring-security-ui 플러그인을 설치했습니다. 자습서 (here)를 따르고 있습니다. 응용 프로그램은 하나의 부트 스트랩 된 사용자로 시작합니다. me
ROLE_ADMIN
사용 권한이 있습니다.Grails/Spring Security : 새로 생성 된 사용자로 로그인 할 수 없습니다.
UI 덮어 쓰기 스크립트를 사용하여 등록 기능을 작동시킬 수 있었으며 정상적으로 작동합니다. 이제는 사용자 관리 스크립트 (grails s2ui-override user
)를 설치하여 사용자를 추가, 편집, 제거하려고 시도했습니다.
새 사용자가 잘 생성되면 HSQLDB 인스턴스에 대해이를 확인했습니다. 그러나 이제 응용 프로그램에서 로그 아웃하고 새로 만든 사용자와 로그인하려고하면 제공된 사용자 이름과 암호로 사용자를 찾을 수 없다고 응용 프로그램에서 알려줍니다.
기본 로그 아웃 처리를 수정하지 않았으므로 문서가 세션을 무효화한다고 말하는 /j_spring_security_logout
을 사용하고 있습니다.
이것은 알려진 문제입니까? 그렇다면이 문제를 어떻게 해결할 수 있습니까? 그렇지 않은 경우 어떻게하면이 문제를 디버그 할 수 있습니까?
EDIT :
이 문제는 또한 UI 첨가없이 지속된다. 새로운 사용자로 등록하십시오. 전자 메일 확인이 끝나면 사이트에 자동 로그인됩니다. 지금 로그 아웃하고 다시 로그인 해보십시오. 동일한 오류가 발생합니다.
최종 편집 :
UI를 플러그인은 여전히 암호를 암호화하는 RegisterController와 함께 제공됩니다. 그러나 코어와 함께 제공되는 최신 도메인 클래스도이를 수행하고 있으므로 권장되는 방법은 컨트롤러가 없어야한다는 것입니다. 나는 기본적인 시나리오를 위해 인코딩과 로그인/로그 아웃이 이제는 작동하는 줄을 주석 처리했다.
로그 아웃 후에 HSQLDB를 확인 했습니까?여전히 테이블에있는 사용자입니까? 내게 끈기 문제처럼 들렸습니다 – add9
@imellan : 예, 사용자는 로그 아웃 한 후에도 여전히 테이블에 있습니다. 실제로 스프링 보안 UI를 사용하여 비밀번호를 재설정하고 새 비밀번호로 다시 로그인 할 수 있습니다. –
springSecurityService.encodePassword()를 프로세스 내의 어딘가에서 사용합니까? – add9