3

大家好,我正在使用 Tomcat 6.0.14,并且想知道实现一个系统,该系统允许我们向用户发送链接,例如 mysite.com?token=12345678912334333(长字符串继续),但这将允许用户自动登录。

4

2 回答 2

3

除非您有其他特定于 Tomcat 的原因,或者您无法修改 Web 应用程序,否则使用自定义过滤器进行身份验证(JAAS 或其他)可能是最简单的。例如:

使用自定义过滤器,您可以以相对简单的方式以任何您想要的方式进行身份验证。

public void doFilter(ServletRequest request,
                     ServletResponse response,
                     FilterChain chain) 
  throws IOException, ServletException {

    String token = request.getParameter("token");
    if (token != null) {
      doAuthentication(token);
    }

    chain.doFilter(request, wrapper);
}

您使用 JAAS 进行了标记。这与仅使用简单令牌进行身份验证不同,但如果这就是您要寻找的,您是否熟悉 Tomcat 的 JAASRealm?您只需要编写自己的LoginModule来验证令牌。

不用说,通过电子邮件使用基于令牌的登录本质上是不安全的,因此不适用于所有类型的应用程序。

于 2011-01-28T21:34:53.757 回答
0

我猜你必须自己实现逻辑,即链接将用户引导到一个 servlet 或类似的东西,它可以识别该链接,与用户连接,创建一个会话对象并在你的应用程序中重定向用户。

希望这可以帮助

于 2011-01-28T21:39:11.097 回答