您好我正在开发一个Spring Web应用程序。我想知道是否可以使用默认属性启动/创建/实例化HttpSession,例如:
isLoggedIn : false
用户登录后,我会将值更改为true
是否可能或应该改变我的观点?
提前致谢
答案 0 :(得分:1)
您可以为此创建自定义HttpSessionListener
:
public class CustomSessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent event) {
event.getSession().setAttribute("isLoggedIn", false);
}
@Override
public void sessionDestroyed(HttpSessionEvent event) {
}
}
您可以在web.xml
注册:
<listener>
<listener-class>package.CustomSessionListener</listener-class>
</listener>
如果使用servlet上下文初始化方法,则以编程方式执行:
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.addListener(CustomSessionListener.class);
}
旁注:我建议使用Spring Security或一些现有的安全框架来处理这些事情。它的设置相对容易,而且比任何DIY解决方案都更安全。