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

标签 authentication tomcat jaas

大家好, 我正在使用 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 标记。这与仅使用简单 token 进行身份验证不同,但如果这就是您要寻找的内容,那么您是否熟悉 Tomcat 的 JAASRealm?您只需要编写自己的 LoginModule验证 token 。

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

关于authentication - 使用 Tomcat 实现自定义身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4832992/

相关文章:

php - 执行对 ETSY 商店的请求,允许自动访问 PHP OAUTH

spring-boot - 在 http nio 线程池中阻止对相同 url 的请求

java - 如何在Spring Boot中设置Jetty的 "maxFormContentSize"等值?

java - 如何在代码中的任意位置访问 JAAS 角色?

java - JAAS 自定义登录模块

java - 在 Websphere Application Server 上运行基于 Filenet 的 Web 应用程序时出现凭据异常

java - spring security - 身份验证中的sessionId为空

java - 从 Java 客户端连接到 App Engine 上的管理员安全 Web 服务

Javascript - 简单的登录重定向

tomcat - Log4J Tomcat Web 应用程序属性文件位置