jsp页面权限控制

来源:百度知道 编辑:UC知道 时间:2024/05/30 12:13:05
一个小型信息管理,要求是登陆之后才可以查看相应jsp页面。但是我不知道如何设置jsp页面权限,导致不用登陆,直接输入相应jsp页面的url就可以查看,请牛人们赐教!最好说的详细一些。
听说在Action里面登陆成功之后用ServletActionContext.getRequest().setAttribute("Login","true");设置一个登陆标志,但是具体做法是怎么样的?在jsp页面又该怎么接收Login的值并做判断?

PS:问题回答的好的还可以再加20分,只要求答案详细正确可行。

ServletActionContext.getRequest().setAttribute("Login","true");

只是request是不够的,用request则是一次页面请求后Login这个Attribute就没有了.

应该是用Session

ServletActionContext.getRequest().getSession(true).setAttribute("Login","true");

这样就是在整个会话过程中都有效..

然后到了每个jsp页面的时候,在jsp页面开头进行下验证

<%
if(request.getAttribute("Login")!=null){
String message=(String)request.getAttribute("Login");
if(!message.equals("true"))
//如果登录标志不为true则跳转回登录页面
response.sendRedirect("/login.jsp");
}
%>

其实用过滤器Filter也可以做,原理是类似的..

- -`

一个简单的方法`
当登录成功的时候 就在 session 设置一个 标记
然后在其他页面里 拿出这个标记, 如果没有,就让他登陆
如果有,就可以操作.
大概思路都是这样子的`

具体实现方法有最简单的 session.setAttribute();
有filter, asepect 都可以做`

最好写个过滤器,过滤一下,如果用户没有登录,则返回登录页面

如果用户的权限不一样,看到的内容不同,可以在页面上判断一下

如: