请注意,在允许通过电子邮件中的链接登录时,您知道自己在做什么。SMTP不是安全的协议,因此依靠某人使用电子邮件作为身份验证通常是不好的。
如果您已经知道它们已通过身份验证,则无需使用AuthenticationManager。相反,您可以直接设置身份验证,如下所示:
Authentication authentication = new UsernamePasswordAuthenticationToken(user, null, AuthorityUtils.createAuthorityList("ROLE_USER"));SecurityContextHolder.getContext().setAuthentication(authentication);如果您想要一个完整的示例,则可以参考安全邮件应用程序中的SignupController,该应用程序是Spring
Security 3.1入门(演示的InfoQ视频)的基础。



