授权的意思就是某个用户是否可以访问某个页面,可以操作某个按钮,是否可以编辑对应的数据。
如何在shiro中使用授权呢?
1.使用编程的方式
判断是否有管理员角色
if(user.hasRole(“admin”)
判断用户是否有打印的权限
Permission printPermission=new PrinterPermission(“aa”,”print”);
if(User.isPermitted(printPermission)){
//展示打印按钮
}else{
//不展示打印的按钮
}
2.使用注解的方式
//此方式可判断用户时候具有用户的修改权限
@RequiresPermissions(“user:edit”)
public String list(User user) {
}
//判断用户角色,如果符合角色,可以使用对应的方法
@RequiresRoles(“teller”)
public void openAccount(Account acct){
//仅仅角色是teller时才可以做某些事情
}
3.使用jsp taglib
//判断用户是否有管理权限
<%@ taglib prefix=”shiro” uri=”http://shiro.apache.org/tags %>”
<body>
<shiro:hasPermission name=“users:manage”>
<a href=“manageUsers.jsp”>
Click here to manage users
</a>
</shiro:hasPermission>
</body>