shiro學習筆記 3 登陸認證

2021-08-21 14:28:47 字數 1032 閱讀 2954

在shiro框架中,未登入就是未認證,登陸了才算認證,認證後只能使用一些基本許可權,使用更多的許可權需要授權,認證和授權是不同的概念。

一、useraction中的相關**

public string login()catch(exception e)

//沒有異常,驗證正確,將查詢到的user存入session

user getuser = (user) subject.getprincipal();

servletactioncontext.getrequest().getsession().setattribute("loginuser", getuser);

return "home";

}else

}

未認證時會呼叫這段登陸的**,需要在這段**中加入shiro框架,通過securityutils呼叫當前使用者,並且註冊乙個認證令牌

二、資料橋梁realm的**:

public class bosrealm extends authorizingrealm

//簡單認證資訊物件

authenticationinfo info = new ******authenticationinfo(user, user.getpassword(), this.getname());

//框架負責比對資料庫中的密碼和頁面輸入的密碼是否一致

return info; }

/*** 授權方法

*/protected authorizationinfo dogetauthorizationinfo(principalcollection args)

}

如果賬號不存在或者密碼錯誤,都會報相應的錯誤,通過struts.xml定義全域性異常捕捉就可以返回相應的頁面或文字

使用shiro實現登陸認證

shiro認證步驟 1.收集subject提交的身份和證明 usernamepasswordtoken token new usernamepasswordtoken user.getusername user.getpassword 2.向authenticating提交身份和證明 subject...

shiro登陸認證過程原理

問題 shiro到底是如何認證的呢,原理是啥呢?1 在登入頁面開始登入 輸入使用者名稱和密碼 2 後台接收到了登入請求,執行以下 然後開始認證 登入的過程將使用者名稱和密碼傳入usernamepasswordtoken中 3 然後進入delegatingsubject的login方法 在這裡所有安全...

Python學習之登陸認證

需求 讓使用者輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸錯三次後退出程式 可以支援多個使用者登入 提示,通過列表存多個賬戶資訊 如下 1 coding utf 8 2 date 3 12 2018 34 count 0 5 users 利用字典儲存多個使用者名稱 密碼 6 name input ...