日期:2014-05-20  浏览次数:20653 次

ssh2整合后有什么好的办法可以判断用户是否登录
我用了action->service->dao->bean整合ssh2,现在我实现了登录功能,登录成功后用request.getSession().setAttribute("user", user)保存了user,
在其他要登录后才能访问的页面我都用了
<%if (session.getAttribute("user")==null){
out.println("<script language='javascript'>alert('您还没有登录!');window.location.href='login.jsp';</script>");
}%>
来判断有没权限,这样每张页面都得写这段代码,太繁琐。
请问还有没有其他好的办法来实现,让其它没有通过验证的不能直接访问那些页面。


------解决方案--------------------
将权限管理的做一个jsp.其他页面include
------解决方案--------------------
探讨

为什么不用拦截器?
<%if (session.getAttribute("user")==null){
out.println("<script language='javascript'>alert('您还没有登录!');window.location.href='login.jsp';</script>");
}%>

这代码要写多少次是个头!

------解决方案--------------------
你页面没有frame么? 有的话 session是直接传到frame的 也就是页面如果有固定的top什么之类的话 在固定页用你这代码验证就好了 不用每个页面都写的。。。。 原来我就这么做的
------解决方案--------------------
一般根据情况而定 如果用户表设计的有表示状态 如果flag 1为未登录 2为登陆状态 这样的花 直接查询当前登陆用户的取得flag字段即可判断 如果数据库没有这样设计 那就用户登陆后 用个标示状态保存在session里 在次打开登陆页面查询判断即可
------解决方案--------------------
如果你用的是ssh2的话 给你个建议
专门写上个jsp页面写你上面的那些话然后在每个页面引用下
<%@include file="alert.jsp" %>