• 每天学点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>
  • 相关阅读:
    简单测试AF3.0.4
    好玩的Mac键盘
    黑盒测试和白盒测试
    iOS开发之原生二维码生成与扫描
    Swift
    JavaScript null and undefined
    java防止表单重复提交
    Java http post
    Redhat 6.5 x64 下载地址
    Spring 官方下载地址(非Maven)
  • 原文地址:https://www.cnblogs.com/xpawn/p/7616040.html
Copyright © 2020-2023  润新知