javaweb程序,在一个jsp页面有三个按钮,按钮分别跳转到不同的jsp页面。当用user登录时,把按钮全部屏蔽,隐藏,当用admin登录时 三个按钮全部显示,这个权限功能怎么实现。
解决方案
6
使用c:if标签来控制html元素的输出
20
<!-- 假设当前用户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都可以直接访问那三个地址,并不需要非点击三个按钮。
所以,在那三个地址里面还应该判断用户的身份,根据身份决定能否执行其行为,这才是权限的关键和本质。
权限不只是能否显示三个按钮的问题,重要的是能否执行那三个按钮的行为。
例如,你这里虽然只有admin才显示那三个按钮,可是按钮对应的网址假如是直接可以访问的,那很容易泄露出去,以后任何user都可以直接访问那三个地址,并不需要非点击三个按钮。
所以,在那三个地址里面还应该判断用户的身份,根据身份决定能否执行其行为,这才是权限的关键和本质。
10
你可以用服务器的SESSION对象保存用户的身份(用户名或ID)或权限分类,然后在全部需要权限控制的页面里从SESSION对象中取出这些值进行判断,然后做出决定。
你这个比较简单,只要保存用户名就行。假如是用户数量非常多,权限也比较多和繁杂的大型系统,一般是保存权限分级信息。
你这个比较简单,只要保存用户名就行。假如是用户数量非常多,权限也比较多和繁杂的大型系统,一般是保存权限分级信息。
10
题主的问题。屏蔽按钮 加if判断能否显示即可,同三楼
权限,根据用户的岗位或身份,判断能否具有操作该动作的权限,同六楼
权限,根据用户的岗位或身份,判断能否具有操作该动作的权限,同六楼
15
用shiro框架权限控制,给你个参考
http://www.sojson.com/shiro
http://www.sojson.com/shiro