日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

基于Spring框架的Shiro配置

發(fā)布時(shí)間:2023/12/20 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Spring框架的Shiro配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://kdboy.iteye.com/blog/1103794

一、在web.xml中添加shiro過(guò)濾器?

Xml代碼??
  • <!--?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定義?
    Xml代碼??
  • <!--?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定義?
    Xml代碼??
  • <bean?id="securityManager"?class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">??
  • ????<property?name="realm"?ref="myRealm"?/>??
  • </bean>??

  • 3、添加realm定義?
    Xml代碼??
  • <bean?id="?myRealm"?class="com...MyRealm"?/>??

  • 三、實(shí)現(xiàn)MyRealm:繼承AuthorizingRealm,并重寫認(rèn)證授權(quán)方法?
    Java代碼??
  • 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;??
  • ????}??
  • ??
  • } ?

  • 轉(zhuǎn)載于:https://www.cnblogs.com/bluejoe/p/5115962.html

    總結(jié)

    以上是生活随笔為你收集整理的基于Spring框架的Shiro配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。