我有一个在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将用户重定向回登录页面。
答案 0 :(得分:0)
由于您已在项目中使用Spring,因此您可能需要查看Spring Security以替换您的定制安全机制。您可以将其配置为保护应用程序中的某些资源,针对定制的数据库后端,LDAP目录等进行身份验证。这将允许您删除会话的所有手动检查以查看用户是否经过身份验证,并将重定向匿名用户到尝试访问受保护资源时到指定的登录页面。
除了web.xml中的spring安全过滤器定义外,还可以使用 security:http 命名空间在单个spring-security.xml文件中指定配置(导入到根应用程序配置中)定义登录页面,受保护资源,注销页面,安全标头等。您可以使用org.springframework.security.core.userdetails.jdbc。 JdbcDaoImpl 实例配置为bean来定义用户服务可以通过身份验证提供程序引用 - 请参阅文档,它非常灵活。
希望这很有用。