我已经在我的 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,但我很困惑,不知道如果我想创建自己的身份验证方法,下一步是什么?