授权:也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等)。
shiro中,主要有主体(Subject)、资源(Resource)、权限(Permission)、 角色(Role)。
一、shiro中的授权方式
(1)编程式
Subject subject = SecurityUtils.getSubject();
if(subject.hasRole(“admin”))
{ //有权限 }
else
{ //无权限 }
(2)注解式
@RequiresRoles("admin")
public void hello()
{ //有权限 }
(3)标签式
<shiro:hasRole name="admin">
<!— 有权限—>
</shiro:hasRole>
二、shiro中授权的注解
(1)@RequiresAuthentication
要求当前Subject已经在session中验证通过(验证当前用户是否登录:subject.isAuthenticated() 结果为true)
(2)@RequiresUser
验证用户是否被记忆,user有两种含义:
1) 一种是成功登录的(subject.isAuthenticat