zoukankan      html  css  js  c++  java
  • 每天学点Shiro-多realm

    1. 新建第二个realm,加密算法改为SHA1

    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken)
                throws AuthenticationException {
    
            System.out.println("=========>SecondRealm doGetAuthenticationInfo");
            UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;
            String username = token.getUsername() ;
    
            if("unknown".equals(username)){
                throw new UnknownAccountException("用户名不存在") ;
            }
    
            Object principal = username ;
            Object credentials= "3416bb24c2d3e88cc79e261ec63c1c324e6614b9" ;
            ByteSource credentialsSalt = ByteSource.Util.bytes(username);
            String realmName = getName() ;
    
            AuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(principal,credentials,credentialsSalt,realmName) ;
    
            return authenticationInfo;
        }

     2. spring-context-shiro.xml中对secondRealm进行配置

         2.1 声明SecondRealm

    <bean id="secondRealm" class="com.pawn.shiro.realm.SecondRealm">
            <property name="credentialsMatcher">
                <bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
                    <property name="hashAlgorithmName" value="SHA1"/>
                    <property name="hashIterations" value="1"/>
                </bean>
            </property>
        </bean>

        2.2 SecurityManager进行多Realm的配置

    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
            <property name="cacheManager" ref="cacheManager"/>
            <property name="authenticator">
                <bean class="org.apache.shiro.authc.pam.ModularRealmAuthenticator">
                    <property name="realms">
                        <list>
                            <ref bean="jdbcRealm"/>
                            <ref bean="secondRealm"/>
                        </list>
                    </property>
                </bean>
            </property>
        </bean>
  • 相关阅读:
    国外保健品品牌介绍
    海淘第一单
    表查询语句与方法
    表与表关系
    表完整性约束
    表字段数据类型
    存储引擎
    数据库之MySQL基本操作
    MAC重置MySQL root 密码
    进程池、线程池、协程
  • 原文地址:https://www.cnblogs.com/xpawn/p/7616040.html
Copyright © 2011-2022 走看看