Grails Spring Security注册/注册用户



我已经在Grails应用程序中安装了Spring Security插件,看到登录很好,但当我想为用户创建注册并在注册后对用户进行身份验证时,我无法在代码中手动进行。

有什么解决办法吗?为什么Spring Security不允许简单地使用将已验证用户推送到会话或Spring Security上下文。以下是我尝试过的:

UsernamePasswordAuthenticationToken uat = new UsernamePasswordAuthenticationToken(user.email, user.password, null); 
uat.setDetails(user);
SecurityContext context = SecurityContextHolder.getContext();
context.setAuthentication(uat);

这验证了用户,但我无法使用下一个代码:

springSecurityService.currentUser

只有这样:

SecurityContextHolder.getContext().getAuthentication().getPrincipal();

我现在很困惑,什么是使用Spring Security的正确方法。

我现在开始构建自己的UserDetailsService,但我很困惑,不知道如果我想创建自己的身份验证方法,下一步该怎么做?

您可以使用强制身份验证

springSecurityService.reauthenticate user.username

参见http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/6%20Helper%20Classes.html#6.2%20SpringSecurityService

最新更新