最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Spring框架的Shiro配置方法

 更新時間:2014年10月24日 15:14:21   投稿:mdxy-dxy  
這篇文章主要介紹了基于Spring框架的Shiro配置方法,需要的朋友可以參考下

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

<!-- 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定義

<!-- 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定義

復制代碼 代碼如下:

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

3、添加realm定義

復制代碼 代碼如下:

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

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

public class MyRealm extends AuthorizingRealm{

 private AccountManager accountManager;
 public void setAccountManager(AccountManager accountManager) {
 this.accountManager = accountManager;
 }

 /**
 * 授權信息
 */
 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;
 }

 /**
 * 認證信息
 */
 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;
 }
}

參考資料:讓Apache Shiro保護你的應用

相關文章

  • Java編程實現(xiàn)中英混合字符串數(shù)組按首字母排序的方法

    Java編程實現(xiàn)中英混合字符串數(shù)組按首字母排序的方法

    這篇文章主要介紹了Java編程實現(xiàn)中英混合字符串數(shù)組按首字母排序的方法,涉及Java字符串操作及拼音轉換的相關使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • SpringBoot調(diào)用WebService接口方法示例代碼

    SpringBoot調(diào)用WebService接口方法示例代碼

    這篇文章主要介紹了使用SpringWebServices調(diào)用SOAP?WebService接口的步驟,包括導入依賴、創(chuàng)建請求類和響應類、生成ObjectFactory類、配置WebServiceTemplate、調(diào)用WebService接口以及測試代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • Java Spring JdbcTemplate基本使用詳解

    Java Spring JdbcTemplate基本使用詳解

    JDBC已經(jīng)能夠滿足大部分用戶最基本的需求,但是在使用JDBC時,必須自己來管理數(shù)據(jù)庫資源如:獲取PreparedStatement,設置SQL語句參數(shù),關閉連接等步驟
    2021-10-10
  • JavaWeb會話技術詳解與案例

    JavaWeb會話技術詳解與案例

    會話技術:在Web開發(fā)中,服務器跟蹤用戶信息的奇數(shù)稱為會話技術。會話:指的是一個客戶端與服務器發(fā)生的一系列請求和響應的過程。由于請求包含的信息,在請求被銷毀后也就不存在,多次讓用戶輸入賬號密碼,會影響用戶的使用體驗感,基于此,產(chǎn)生了cookie和session技術
    2021-11-11
  • Idea 自動生成測試的實現(xiàn)步驟

    Idea 自動生成測試的實現(xiàn)步驟

    當我們在寫完一些接口方法后需要測試時,一個一個新建測試類比較麻煩 idea給我們提供了快捷辦法,本文主要介紹了Idea 自動生成測試的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • Java基礎之FileInputStream和FileOutputStream流詳解

    Java基礎之FileInputStream和FileOutputStream流詳解

    這篇文章主要介紹了Java基礎之FileInputStream和FileOutputStream流詳解,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java的基礎語法學習筆記

    Java的基礎語法學習筆記

    這里為大家整理了Java的基礎語法學習筆記,包括關鍵詞、運算符與基本的流程控制語句寫法等,需要的朋友可以參考下
    2016-05-05
  • Java異常處理深入理解

    Java異常處理深入理解

    這篇文章主要介紹了java項目常用異常處理匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-07-07
  • Spring Boot 分庫分表策略示例展示

    Spring Boot 分庫分表策略示例展示

    分庫分表是為了應對大規(guī)模數(shù)據(jù)和高并發(fā)請求,提高系統(tǒng)的性能和可擴展性,以下是如何在 Spring Boot 中實現(xiàn)分庫分表的詳細策略,感興趣的朋友一起看看吧
    2024-08-08
  • MyBatis基本實現(xiàn)過程

    MyBatis基本實現(xiàn)過程

    這篇文章主要介紹了Spring整合mybatis實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-07-07

最新評論

正定县| 龙江县| 杭锦旗| 恩施市| 出国| 项城市| 绥江县| 开封市| 巫山县| 新化县| 巴南区| 柳林县| 德化县| 确山县| 临泉县| 正阳县| 原平市| 兰州市| 千阳县| 长子县| 西藏| 米易县| 祁东县| 达尔| 东城区| 昌平区| 滨州市| 穆棱市| 佛坪县| 申扎县| 镇平县| 乌苏市| 信丰县| 娄烦县| 顺昌县| 奎屯市| 嘉义县| 民县| 孝感市| 巴彦淖尔市| 禹州市|