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

服務(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;
 }
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 波多野结衣被绝伦强在线观看 | 国产福利在线观看91精品 | 国产精品久久久久久吹潮 | 国产免费资源高清小视频在线观看 | 逼中极品 | 九九国产视频 | 国产精品啪啪 | 国产午夜精品一区二区三区不卡 | 天堂69亚洲精品中文字幕 | 免费看成人毛片日本久久 | 久久机热免费视频 | 久久久影院亚洲精品 | 欧美成人aa | 亚洲成综合人影院在院播放 | 四虎小视频 | 好男人好资源在线观看免费 | 欧美区一区 | 欧美精品一区二区三区免费 | 91制片厂 果冻传媒 天美传媒 | 摸逼网| 趴好撅高打屁股sp调教h | 秋葵丝瓜茄子草莓榴莲樱桃 | 免费看一级毛片 | 91人人| 日韩大片免费看 | 激情亚洲天堂 | 青草国产在线视频 | 亚洲一区二区三区福利在线 | 亚洲成A人片在线观看中文L | 国产精品嫩草影院一二三区入口 | 1769亚洲资源站365在线 | 菠萝视频污 | a在线观看欧美在线观看 | 免费网站看v片在线香蕉 | 狠狠婷婷综合缴情亚洲 | 色综合天天综合中文网 | 成人小视频在线观看免费 | 国产美女亚洲精品久久久综合 | 亚洲欧美日韩久久一区 | 故意短裙公车被强好爽在线播放 | 456亚洲老头视频 |