【问题标题】:Java servlet and authenticationJava servlet 和身份验证
【发布时间】:2009-10-06 15:33:12
【问题描述】:

我有一个包含 3-4 个 servlet 和一个基本模块的小型应用程序,为我提供身份验证,例如:

public class Authentication {
    public boolean isUserAuthenticated(){
        ....
    }
}

有没有办法在每个其他 servlet 调用之前使用我的类检查身份验证,而不必在每个调用中添加代码?我想避免用户检查我拥有的每个 servlet 以及我必须添加的每个 servlet。

任何建议都会被接受:)

谢谢,罗伯托

【问题讨论】:

    标签: java authentication jsp servlets


    【解决方案1】:

    当然,请使用servlet filter。这是在 Java Web 应用程序中实现安全性的标准方式。

    Java Servlet 规范版本 2.3 引入了一种新的组件类型,称为过滤器。动态过滤器 拦截请求和响应 转换或使用信息 包含在请求中或 回应。过滤器通常不会 自己创建响应,但 而是提供通用功能 可以“附加”到任何类型的 servlet 或 JSP 页面。

    【讨论】:

      【解决方案2】:

      您可以将身份验证逻辑放在 Servlet 过滤器中。如果过滤器发现请求未通过身份验证,它可以将用户重定向到登录页面(或其他)。

      任何到达 servlet 的东西都会被隐式验证。

      【讨论】:

        【解决方案3】:

        使用 Acegi Security(现在是 Spring Security)。使用 Spring 还会以其他方式让您的生活更轻松。 (Spring security 使用上面帖子中提到的 servlet 过滤器工作)。

        【讨论】:

        • 可能对他的申请要求有点重。
        • 但我认为 Spring 是一个“轻量级”容器? ;)
        【解决方案4】:

        可以通过 servlet 过滤器完成用户身份验证。
        查看详细示例User Authentication Filter Example

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-02-02
          • 2018-02-24
          • 2015-04-01
          • 1970-01-01
          • 2016-02-29
          • 1970-01-01
          • 2011-11-12
          相关资源
          最近更新 更多