一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - 基于Spring框架的Shiro配置方法

基于Spring框架的Shiro配置方法

2019-12-02 14:38mdxy-dxy JAVA教程

這篇文章主要介紹了基于Spring框架的Shiro配置方法,需要的朋友可以參考下

一、在web.xml中添加shiro過濾器

?
1
2
3
4
5
6
7
8
9
10
11
<!-- Shiro filter-->
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

二、在Spring的applicationContext.xml中添加shiro配置

1、添加shiroFilter定義

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- Shiro Filter -->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
 <property name="securityManager" ref="securityManager" />
 <property name="loginUrl" value="/login" />
 <property name="successUrl" value="/user/list" />
 <property name="unauthorizedUrl" value="/login" />
 <property name="filterChainDefinitions">
 <value>
 /login = anon
 /user/** = authc
 /role/edit/* = perms[role:edit]
 /role/save = perms[role:edit]
 /role/list = perms[role:view]
 /** = authc
 </value>
 </property>
</bean>

2、添加securityManager定義

 

復(fù)制代碼 代碼如下:

<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
 <property name="realm" ref="myRealm" />
</bean>

 

3、添加realm定義

 

復(fù)制代碼 代碼如下:

<bean id=" myRealm" class="com...MyRealm" />

 

三、實現(xiàn)MyRealm:繼承AuthorizingRealm,并重寫認(rèn)證授權(quán)方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class MyRealm extends AuthorizingRealm{
 
 private AccountManager accountManager;
 public void setAccountManager(AccountManager accountManager) {
 this.accountManager = accountManager;
 }
 
 /**
 * 授權(quán)信息
 */
 protected AuthorizationInfo doGetAuthorizationInfo(
 PrincipalCollection principals) {
 String username=(String)principals.fromRealm(getName()).iterator().next();
 if( username != null ){
 User user = accountManager.get( username );
 if( user != null && user.getRoles() != null ){
 SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
 for( SecurityRole each: user.getRoles() ){
  info.addRole(each.getName());
  info.addStringPermissions(each.getPermissionsAsString());
 }
 return info;
 }
 }
 return null;
 }
 
 /**
 * 認(rèn)證信息
 */
 protected AuthenticationInfo doGetAuthenticationInfo(
 AuthenticationToken authcToken ) throws AuthenticationException {
 UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
 String userName = token.getUsername();
 if( userName != null && !"".equals(userName) ){
 User user = accountManager.login(token.getUsername(),
  String.valueOf(token.getPassword()));
 
 if( user != null )
 return new SimpleAuthenticationInfo(
  user.getLoginName(),user.getPassword(), getName());
 }
 return null;
 }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久毛片视频 | 女教师被女同学调教成脚奴 | 亚洲国产第一 | 久久草香蕉频线观 | jj视频免费 | 久久夜色噜噜噜亚洲AV0000 | 久久综合老色鬼网站 | 男生和女生搞逼逼 | 国产91在线九色 | 免费观看美女被cao视频 | 亚洲黄视频在线观看 | 91香蕉在线| www.片| 无码任你躁久久久久久久 | 乳女教师欲乱动漫无修版动画3d | 天天摸日日舔 | 叛佛 作者满栀小说免费阅读 | 日本孕妇大胆孕交 | 精品无码久久久久久久动漫 | 国产综合视频在线 | 天堂在线中文字幕 | 亚洲香蕉网久久综合影院3p | 久久视频在线视频观看精品15 | 精品久久久久久久久久久久久久久 | 波多野结衣在线观看视频 | 91精品免费国产高清在线 | 含羞草传媒网站免费进入欢迎 | 百合互慰吃奶互揉漫画 | 国产精品女同久久免费观看 | 无颜之月全集免费观看 | 国产女主播福利在线 | yellow高清免费观看日本 | 亚偷熟乱区视频在线观看 | 天码毛片一区二区三区入口 | 69日本xxxxxxxxx98 69人成网站色www | 俄罗斯13一14处出血视频在线 | 午夜国产精品 | 被巨大黑人的翻白眼 | 毛片网在线观看 | 调教女高中生第3部分 | 亚洲精品色图 |