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

发布于 2024-10-14 23:36:41 字数 125 浏览 4 评论 0原文

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

Hey all,
I'm using Tomcat 6.0.14 and would like to know to implement a system that would allow us to send users a link say mysite.com?token=12345678912334333(long string continued) but that would allow the user to be logged in automatically.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转角预定愛 2024-10-21 23:36:41

除非您有其他特定于 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 验证令牌。

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

Unless you have other reasons specific to Tomcat, or you are unable to modify your web application, then it might be easiest to use a custom filter to do the authentication (JAAS or otherwise). For example:

With a custom filter, you could authenticate in whatever way you wanted to in a relatively straightforward way.

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);
}

You tagged with JAAS. That's different than just authenticating with a simple token, but if that's what you are looking for, are you familiar with Tomcat's JAASRealm? You would just have to write your own LoginModule to authenticate the token.

It probably goes without saying that using token based login via E-mail is inherently insecure, and so is not appropriate for all types of applications.

忆梦 2024-10-21 23:36:41

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

希望这有帮助

I guess you have to implement the logic by yourself, i.e. the link guide the user to a servlet or something like that which recognize that link, join it with the user, create a session object and redirect the user inside your app.

Hope this helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文