JSP / Tomcat使用sessionstorage进行安全登录

时间:2014-09-26 10:29:44

标签: spring jsp spring-security struts httpsession

我有一个在Tomcat上运行的系统,前端有HTML / JSP,后端有java / Spring / Struts。

我创建了一个登录功能,用户输入了他的用户名和密码。 在后端,我在DB中验证存储用户的用户名和密码。 如果匹配,我将用户名存储在HTTPsession中:

         session.setAttribute( "username", name );

然后,在后端的每个类操作中,我添加以下代码:

    HttpSession session = request.getSession();
    if(session.getAttribute("username") == null) {
        return mapping.findForward("invalidUser");
    }

invalidUSer-mapping将用户重定向回登录页面。

  1. 这有多安全?
  2. 有没有办法检查httpsession而不将我的验证码添加到每个类?
  3. 你们有关于如何以不同方式做到这一点的提示(或示例/教程)吗?系统已经创建并投入生产,所以我不想做太多的架构更改。

1 个答案:

答案 0 :(得分:0)

由于您已在项目中使用Spring,因此您可能需要查看Spring Security以替换您的定制安全机制。您可以将其配置为保护应用程序中的某些资源,针对定制的数据库后端,LDAP目录等进行身份验证。这将允许您删除会话的所有手动检查以查看用户是否经过身份验证,并将重定向匿名用户到尝试访问受保护资源时到指定的登录页面。

除了web.xml中的spring安全过滤器定义外,还可以使用 security:http 命名空间在单个spring-security.xml文件中指定配置(导入到根应用程序配置中)定义登录页面,受保护资源,注销页面,安全标头等。您可以使用org.springframework.security.core.userdetails.jdbc。 JdbcDaoImpl 实例配置为bean来定义用户服务可以通过身份验证提供程序引用 - 请参阅文档,它非常灵活。

希望这很有用。