Code Bye

权限控制

javaweb程序,在一个jsp页面有三个按钮,按钮分别跳转到不同的jsp页面。当用user登录时,把按钮全部屏蔽,隐藏,当用admin登录时 三个按钮全部显示,这个权限功能怎么实现。
解决方案

6

使用c:if标签来控制html元素的输出

20

引用:
Quote: 引用:

使用c:if标签来控制html元素的输出

能具体点 或举代码说明

<!-- 假设当前用户session对象对userInfo,用户角色字段为role -->
	<c:if test="${sessionScope.userInfo.role eq "admin" }">
		<input type="button" value="这是按钮1" />
		<input type="button" value="这是按钮2" />
		<input type="button" value="这是按钮3" />
	</c:if>

记得在jsp页面引入指令:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

5

光是这样,还是不行的。
权限不只是能否显示三个按钮的问题,重要的是能否执行那三个按钮的行为。
例如,你这里虽然只有admin才显示那三个按钮,可是按钮对应的网址假如是直接可以访问的,那很容易泄露出去,以后任何user都可以直接访问那三个地址,并不需要非点击三个按钮。
所以,在那三个地址里面还应该判断用户的身份,根据身份决定能否执行其行为,这才是权限的关键和本质。

10

你可以用服务器的SESSION对象保存用户的身份(用户名或ID)或权限分类,然后在全部需要权限控制的页面里从SESSION对象中取出这些值进行判断,然后做出决定。
你这个比较简单,只要保存用户名就行。假如是用户数量非常多,权限也比较多和繁杂的大型系统,一般是保存权限分级信息。

10

题主的问题。屏蔽按钮     加if判断能否显示即可,同三楼
权限,根据用户的岗位或身份,判断能否具有操作该动作的权限,同六楼

15

用shiro框架权限控制,给你个参考
http://www.sojson.com/shiro

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明权限控制