shiro框架的学习
權(quán)限控制是shiro最核心的東西
Shiro權(quán)限聲明通常是使用以冒號(hào)分隔的表達(dá)式。一個(gè)權(quán)限表達(dá)式可以清晰的指定資源類型,允許的操作,可訪問的數(shù)據(jù)。同時(shí),Shiro權(quán)限表達(dá)式支持簡單的通配符,可以更加靈活的進(jìn)行權(quán)限設(shè)置。
下面以實(shí)例來說明權(quán)限表達(dá)式。
可查詢用戶數(shù)據(jù)
User:view
可查詢或編輯用戶數(shù)據(jù)
User:view,edit
可對(duì)用戶數(shù)據(jù)進(jìn)行所有操作
User:* 或 user
可編輯id為123的用戶數(shù)據(jù)
User:edit:123
@ RequiresAuthentication
可以用戶類/屬性/方法,用于表明當(dāng)前用戶需是經(jīng)過認(rèn)證的用戶。
使用這個(gè)注解之前,需要先在spring-mvc.xml加入一段代碼(一定要寫在最先加載的xml中,寫在后面加載的xml中也不起作用)
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor" />
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager" />
</bean>
1
2
3
4
5
lifecycleBeanPostProcessor和securityManager是在shiro配置文件中定義好的:
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"></bean>
<!-- Shiro安全管理器 -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="jdbcRealm"></property>
<property name="cacheManager" ref="cacheManager"></property>
</bean>
在前端權(quán)限管理處寫上權(quán)限的字符串
contraller里方法上寫上注解,括號(hào)里是前端對(duì)應(yīng)的權(quán)限字符串
這樣就可以控制已認(rèn)證用戶權(quán)限了
轉(zhuǎn)載于:https://www.cnblogs.com/xiaohouye/p/11163209.html
總結(jié)
以上是生活随笔為你收集整理的shiro框架的学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 协议,委托
- 下一篇: 根本不值得一提的乒乓球国手王浩