日期:2014-05-17  浏览次数:20593 次

jsp里如何控制页面访问权限
我用struts+jsp做的,有些页面通过绝对路径可以直接访问到的。有没什么办法可以阻值不是合法用户就不能访问。我听说可以用判断session来解决。在c#里有个pageload,写在那里很容易判断。我就不知道jsp里写在什么地方可以实现这的功能呀? 最好有例子代码贴下。

------解决方案--------------------
现成的代码道是没有。

可以提供两种思路。
1, 就想你说的用session 通过判断session中是否有对应的值来判断用户是否登陆。 
最好做成一个自定义的标签。将你需要登陆的页面嵌入这个标签就可以了。

2, 通过过滤器来处理 . 将你需要登陆后才能访问的页面放到 一个目录下。
然后 在过滤器中判断你的请求是否能够进入这个目录就可以了。

------解决方案--------------------
可以把jsp放到WEB-INF下的目录下,这样客户端就不能直接访问了,所有的页面跳转都用服务器端重定向。

引用楼主 yilin54 的帖子:
在c#里有个pageload,写在那里很容易判断。我就不知道jsp里写在什么地方可以实现这的功能呀? 最好有例子代码贴下。

------解决方案--------------------
jsp页面:

var permissionList="<%=session.getAttribute("userSession_name")%>";
------解决方案--------------------
一般都用filter来控制权限,
看看我们教程中的介绍:

http://www.family168.com/tutorial/jsp/html/jsp-ch-07.html#jsp-ch-07-02
------解决方案--------------------
可以用session控制,
用户登录时,将用户名存到session中,访问该页面时,判断一下session中的用户名是否空,如果空,则禁止访问。
登录时:session.setAttrbiute("username",username);
访问页面时:if(session.getAttribute(username)==null)
{
//错误提示,或者页面跳转