黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 實現簡單的Shiro登錄認證問題

實現簡單的Shiro登錄認證問題

更新時間:2021-11-16 10:20:49 來源:動力節點 瀏覽1000次

實現Shiro簡單登錄認證后出現問題。您不使用 ajax 請求登錄。當你點擊login訪問一個controller方法,securityuils.getsubject.login(token)訪問提交時,找不到地址。是否需要加密碼呢?

//This is the controller
@RequestMapping("/checkLogin.do")
    private void login(HttpServletRequest request) throws UserException{
        String account = request.getParameter("account");
        String password = request.getParameter("password");
        UsernamePasswordToken token = new UsernamePasswordToken(account,password);
        Subject currentUser = SecurityUtils.getSubject();
        try{
            if(!currentUser.isAuthenticated()){
                currentUser.login(token);
            }
        }catch(UnknownAccountException uae){
            //User name / password error
            Throw new useraccountexception ("wrong user name or password! "";
        }catch(IncorrectCredentialsException ice){
            //User name / password error
            Throw new usercredentialsexception ("wrong user name or password! "";
        }catch(ExcessiveAttemptsException eae){
            //Abnormal login times, account locked
            Throw new userattemptsexception ("login more than 5 times, account locked! "";
        }catch(AuthenticationException ae){
            //Other exceptions
            Throw new userexception ("login failed! "";
        }
    }
    
}
//This is realm
@Override
    protected AuthenticationInfo doGetAuthenticationInfo(
            AuthenticationToken token) throws AuthenticationException {
        //Token based on user name and password
        //This token is from currentuser.login (token) of registcontroller
        UsernamePasswordToken uptoken = (UsernamePasswordToken)token;
        //Call service to query user through user account
        UserAuthDTO userAuth = userService.getUserAuthByAccount((String)uptoken.getPrincipal());
        if(userAuth == null){
            return null;
        }
        String identity = userAuth.getAccount();
        String password = userAuth.getPassword();
        String salt = userAuth.getSalt();
        if(userAuth.getIsLocked() != null && userAuth.getIsLocked() == 1){
            Throw new authenticationexception ("the account is locked! "";
        }
        AuthenticationInfo authInfo = new SimpleAuthenticationInfo(userAuth
                , password, ByteSource.Util.bytes(identity+salt), this.getName()); 
        System. Out. Println ("realm login authentication is over! "";
        return authInfo;
    }
}
//This is Shiro configuration
 <! -- configuration filter will be referenced by the filter configured in web.xml -- >
        <! -- Shiro's web filter -- >
        <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
            <! -- inject security component -- >
            <property name="securityManager" ref="securityManager" />
            <! -- set login address -- >
            <property name="loginUrl" value="/user/login.do"/>
            <property name="successUrl" value="/index.jsp"/>
<!--            <property name="unauthorizedUrl" value="/unauthorized.jsp"/> -->
            <! -- because every bean of type javax.servlet.filter that has been defined can pass the bean name in the definition of the chain
            So the filters property is not required. But you can replace the filters with the filters property as needed
            Instance or alias filter -- >
            <!-- <property name="filters">
                <map>
                    <entry key="anAlias" value-ref="someFilter"/>
                </map>
            </property>-->
            <! -- processor execution chain -- >
            <property name="filterChainDefinitions">
                <value>
                    <! -- define permission interception -- >
                    <! -- set anonymous access to static resources -- >
                    <! -- set anonymous access to login registration page -- >
                    /regist.jsp = anon
                    /login.jsp = anon
                </value>
            </property>
        </bean>
        <!-- securityManager -->
        <! -- Security Manager -- >
        <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
            <property name="realm" ref="userAuthenticatorRealm"/>
        </bean>        
        <! -- ensure bean execution of lifecycle function within Shiro -- >
<!--        <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>-->
        
        <! -- configure the realm for specific authentication and authorization -- >
        <! -- inherit the user-defined realm of authorizing realm used to complete user login authentication -- >
        <bean id="userAuthenticatorRealm" class="com.maikesiwei.mksw.user.shiro.realm.UserAuthenticatorRealm">
            <! -- inject credentialsmatcher for certificate matching -- >
            <property name="credentialsMatcher" ref="credentialsMatcher"/>
        </bean>
        <! -- credential matcher -- >
        <bean id="credentialsMatcher" class="org.apache.shiro.authc.credential.HashedCredentialsMatcher">
            <! -- encryption hash algorithm -- >
            <property name="hashAlgorithmName" value="SHA-256"/>
            <! -- iterations -- >
            <property name="hashIterations" value="5"/>
        </bean>

最后點擊登錄。

HTTP Status 404 – /web-templet/user/user/checkLogin

type 狀態報告

信息 /web-templet/user/user/checkLogin

描述 請求的資源不可用。

Apache Tomcat/8.0.44

如果在登錄頁面直接點擊登錄,會報賬號密碼錯誤。如果直接填寫賬號,點擊登錄域,會發現用戶返回到認證信息,頁面如下:

如果大家想了解更多相關知識,可以關注一下動力節點的Shiro視頻教程,里面的內容詳細,由淺到深,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成人福利网址 | 中国性猛交xxxx乱大交 | 福利片在线看 | 成人小视频在线观看免费 | 又粗又黄又猛又爽大片免费 | 亚洲一二区视频 | 顶级毛片在线手机免费看 | 欧美激情亚洲色图 | 特黄特黄一级高清免费大片 | 岛国午夜精品视频在线观看 | 欧洲日韩 | 日韩欧美国产精品 | 波多野结衣不卡 | 国内精品视频在线播放一区 | 极品美女a∨片在线看 | 亚洲精品tv久久久久久久久 | 在线视频免费观看a毛片 | 亚洲欧美日韩高清专区一区 | 国产亚洲sss在线播放 | 亚洲成在人线久久综合 | 亚洲一区日韩二区欧美三区 | 日韩黄色大片免费看 | 2021国产精品成人免费视频 | 伊人久久大香线蕉综合热线 | 久久亚洲网 | h片在线观看网站 | 天天干天天干天天天天天天爽 | 久久天天躁夜夜躁狠狠 | 黄色一级免费看 | 亚洲国产精品日韩高清秒播 | 国外欧美一区另类中文字幕 | 手机福利视频一区二区 | 韩剧伦理片在线观看 | 国产成人免费全部网站 | 亚洲精品亚洲人成在线观看麻豆 | 91久久偷偷做嫩草影院免 | 欧美成视频人免费淫片 | 色网在线免费观看 | 久久亚洲欧美成人精品 | 亚洲欧洲日韩综合 | 午夜免费理论片在线看 |