当前位置: 技术问答>java相关
各位老大,请教一个jsp的session问题,十万火急!!!
来源: 互联网 发布时间:2015-10-16
本文导语: 基本情况:B/S结构,服务器操作系统为Windows2000Server,JSP,tomcat。 客户机操作系统为Windows98。 我用session做用户认证,正常情况下,用户打开IE --> 显示用户认证界面 --> 输...
基本情况:B/S结构,服务器操作系统为Windows2000Server,JSP,tomcat。
客户机操作系统为Windows98。
我用session做用户认证,正常情况下,用户打开IE --> 显示用户认证界面
--> 输入正确用户名和密码 -- 进入主界面。
现 象:用户输入正确用户名和密码进入主界面后,在不涮新IE的情况下,关闭IE再开 IE,就可直接输入主界面的路径就可进入主界面。
问 题:如何令用户每次再开IE时,必须输入正确用户名和密码才能进入主界面。
各位老大十万火急!!! 拜托拜托!!!
客户机操作系统为Windows98。
我用session做用户认证,正常情况下,用户打开IE --> 显示用户认证界面
--> 输入正确用户名和密码 -- 进入主界面。
现 象:用户输入正确用户名和密码进入主界面后,在不涮新IE的情况下,关闭IE再开 IE,就可直接输入主界面的路径就可进入主界面。
问 题:如何令用户每次再开IE时,必须输入正确用户名和密码才能进入主界面。
各位老大十万火急!!! 拜托拜托!!!
|
在每次进入前可以把SESSION清掉
session.removeValue("username");
session.removeValue("password");
session.removeValue("username");
session.removeValue("password");
|
可以在服务器端设置强制刷新,同时在每个jsp文件开头加上session检测,检测用户的id在session中是否存在,如果不存在则退出,session不要时间设置太长,一般关闭ie后在访问就不能进去。
|
建议在每个JSP开头检查session
HttpSession session=request.getSession(true);
username=(String)session.getAttribute("username");
if(username==null){
response.sendRedirect("index.jsp");
}
HttpSession session=request.getSession(true);
username=(String)session.getAttribute("username");
if(username==null){
response.sendRedirect("index.jsp");
}
|
你在头文件中直接用这个:
if(session.getAttribute("name")==null || session.getAttribute("id")==null)
{
throw new Exception("请先登录");
}
if(session.getAttribute("name")==null || session.getAttribute("id")==null)
{
throw new Exception("请先登录");
}
|
Session 过期时间,sec=-1为不过期
session.setMaxInactiveInterval(sec);
session.setMaxInactiveInterval(sec);