| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

shiro实现授权的三种操作

授权的例子就是是否可以访问某个页面,可以操作某个按钮,是否可以编缉对应的数据等。

如何在shiro中使用授权

1,使用编程方式

判断是否有管理员角色

if (currentUser.hasRole("admin")) {

判断用户是否有打印的权限

Permission printPermission =new PrinterPermission(“laserjet3000n”,“print”);

If (currentUser.isPermitted(printPermission)) {

    //do one thing (show the print button?)‏

} else {

    //don’t show the button?

}

也可以使用字符串的方式验证

String perm = “printer:print:laserjet4400n”;

if(currentUser.isPermitted(perm)){

//show the print button?

}else {

//don’t show the button?

}

2,使用注释方式

判断用户是否有 创建账户权限

//Will throw an AuthorizationException if none

//of the caller’s roles imply the Account

//'create' permission\u000B

@RequiresPermissions(“account:create”)‏

public void openAccount( Account acct ) {

//create the account

}

判断用户角色,如果符合角色,可以使用对应方法

//Throws an AuthorizationException if the caller

//doesn’t have the ‘teller’ role:

@RequiresRoles( “teller” )

public void openAccount( Account acct ) {

//do something in here that only a teller

//should do

}

3,使用jsp taglib

判断用户是否有管理权限

<%@ taglib prefix=“shiro” uri=http://shiro.apache.org/tags %>

<html>

<body>

    <shiro:hasPermission name=“users:manage”>

        <a href=“manageUsers.jsp”>

            Click here to manage users

        </a>

    </shiro:hasPermission>

    <shiro:lacksPermission name=“users:manage”>

        No user managementfor you!

    </shiro:lacksPermission>

</body>

</html>

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1401434110933.html
Shiro 安全相关