如何连接令牌URL

时间:2013-07-16 11:09:15

标签: java spring-mvc spring-security

如何在不输入名称和密码的情况下对用户进行身份验证,但是通过电子邮件发送带有令牌的URL?

我尝试使用控制器截取包含令牌的url,但我的spring设置返回登录页面,因为用户是匿名的。

我还想在URL中连接令牌,例如:

http://myWebSite/guest/18f1ff9a-fd1e-49be-bb31 ...

我为数据库中的每个用户都有一个令牌

我允许使用令牌匿名访问控制器。然后我通过令牌获取用户的用户名和密码,如下所示:

String queryFindUserByToken = "from UserEntity u where u.token = :token";

现在我想使用从数据库中获取的登录名和密码自动创建用户会话。

我尝试使用参数重定向到重定向到j_spring_security_check但不支持身份验证方法:GET

@RequestMapping(value = "guest/{tokenUser}", method = RequestMethod.GET)
    public String guest(Map<String, Object> map, @PathVariable String tokenUser) {


        UserEntity user = userService.findUserByToken(tokenUser);

        return "redirect:j_spring_security_check?j_username=" + user.getUsername() + "&j_password=" + user.getPassword() ;


    }

你有更好的解决方案吗?

0 个答案:

没有答案