大家好,我使用的是Tomcat 6.0.14,并且想知道要实现一个系统,该系统允许我们向用户发送链接,例如mysite.com?token=12345678912334333(长字符串继续),但允许用户自动登录。
除非您有其他特定于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即可对令牌进行身份验证。
不用说,通过电子邮件使用基于令牌的登录本质上是不安全的,因此并不适合所有类型的应用程序。