Shiro权限控制的5个常⽤权限注解详解!
Shiro权限控制的5个常⽤权限注解详解!Shiro是⼀个⽐较好⽤的安全框架,虽然还有很多的其他框架也是⽐较好⽤的,但是⽬前使⽤Shiro来进⾏安全权限开发的⼈也还是不在少数的。对于Shiro权限经常⽤到的5个注解的详细意思⼤家还是需要了解的。
⼀、5个控制权限的注解
1.RequiresAuthentication
使⽤该注解标注的类,实例,⽅法在访问或调⽤时,当前Subject必须在当前session中已经过认证;验证⽤户是否登录,等同于⽅法subject.isAuthenticated() 结果为true时。
2.RequiresGuest
使⽤该注解标注的类,实例,⽅法在访问或调⽤时,当前Subject可以是“guest”⾝份,不需要经过认证或者在原先的session中存在记录。
3.RequiresPermissions
shiro安全框架当前Subject需要拥有某些特定的权限时,才能执⾏被该注解标注的⽅法。如果当前Subject不具有这样的权限,则⽅法不会被执⾏。(⼤⽩话理解:该注解括号中的值代表权限,⽽调⽤这个使⽤了该注解⽅法的Subject如果没有相同的权限的话是不能调⽤的)
4.RequiresRoles
当前Subject必须拥有所有指定的⾓⾊时,才能访问被该注解标注的⽅法。如果当天Subject不同时拥有所有指定⾓⾊,则⽅法不会执⾏还会抛出AuthorizationException异常。
5.RequiresUser
当前Subject必须是应⽤的⽤户,才能访问或调⽤被该注解标注的类,实例,⽅法。
总结
Shiro的认证注解处理是有内定的处理顺序的,如果有个多个注解的话,前⾯的通过了会继续检查后⾯的,若不通过则直接返回,处理顺序依次为(与实际声明顺序⽆关):
RequiresRoles
RequiresPermissions
RequiresAuthentication
RequiresUser
RequiresGuest

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。