使用Tomcat实现自定义身份验证

时间:2011-01-28 20:58:11

标签: authentication tomcat jaas

嘿所有,       我正在使用Tomcat 6.0.14并想知道实现一个系统,允许我们向用户发送一个链接,例如mysite.com?token=12345678912334333(long string continue),但这将允许用户自动登录。

2 个答案:

答案 0 :(得分: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来验证令牌。

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

答案 1 :(得分:0)

我猜你必须自己实现逻辑,即链接引导用户访问servlet或识别链接的链接,将其与用户连接,创建会话对象并在用户内部重定向用户。

希望这有帮助