【问题标题】:Session Tracking using J2EE使用 J2EE 的会话跟踪
【发布时间】:2014-04-25 13:42:14
【问题描述】:

我正在尝试在我的网站上实施会话跟踪。基本上我希望用户能够使用他们的用户名和密码登录我的网站,传递我的网站页面(仅适用于登录用户)然后注销。 目前我正在考虑什么是正确的架构来实现这一点。那么,这样做是否正确:使用一个 servlet 来验证用户是否已登录,或者该用户是否正在使用 httpSession 对象进行登录(有点像这里的示例:http://www.tutorialspoint.com/servlets/servlets-session-tracking.htm)。在登录尝试的情况下,servlet 通过调用无状态会话 bean(它根据我的数据库验证用户名和密码)来验证用户名和密码。

此外,每当用户想要“旅行”到我网站上仅对登录用户可见的另一个页面时,请求必须转到 servlet 以验证用户是否已登录,然后检索新页面。

这是正确的做法吗?如果没有,我该怎么做?

非常感谢。

【问题讨论】:

    标签: jsp session jakarta-ee servlets


    【解决方案1】:

    我对术语会话跟踪感到困惑,但我了解您希望允许用户访问受保护的资源。

    您需要为受保护的资源定义角色、身份验证提供程序和映射。然后就可以在web.xml中组合起来了:

    <security-constraint>
             <display-name>SecurityConstraint</display-name>
            <web-resource-collection>
                  <web-resource-name>WRCollection</web-resource-name>
                 <url-pattern>/*</url-pattern>
         </web-resource-collection>
            <auth-constraint>
                  <role-name>TutorialUser</role-name>
            </auth-constraint>
            <user-data-constraint>
                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
       </security-constraint>
      <login-config>
            <auth-method>FORM</auth-method>
         <form-login-config>
                  <form-login-page>/loginform.html</form-login-page>
                 <form-error-page>/loginerror.html</form-error-page>
          </form-login-config>
     </login-config>
     <security-role>
        <role-name>TutorialUser</role-name>
    </security-role>
    

    详情请参阅http://docs.oracle.com/cd/E19226-01/820-7627/bncby/index.html。这是 JEE 标准方式。

    【讨论】:

      【解决方案2】:

      您可以使用 servlet 登录到您的应用程序。

      但您需要一个过滤器来限制对受保护页面的访问。

      每个请求都必须通过该过滤器。

      【讨论】:

      【解决方案3】:

      您可以使用Spring Security。它具有您需要的所有功能。 Spring Security 为基于 J2EE 的企业软件应用程序提供全面的安全服务。

      框架将根据框架中完成的配置对用户进行身份验证和授权。并且会在会话中自动保存用户状态。您不必明确处理会话。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-18
        • 1970-01-01
        • 2011-01-26
        • 1970-01-01
        相关资源
        最近更新 更多