shiro框架提供了多種方式實現用戶登錄,常用的方式包括以下幾種:
用戶名密碼登錄:用戶輸入用戶名和密碼,在后臺進行驗證,驗證通過后登錄成功。
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
subject.login(token);
手機號驗證碼登錄:用戶輸入手機號和驗證碼,后臺驗證手機號和驗證碼,驗證通過后登錄成功。
SMSCodeToken token = new SMSCodeToken(mobile, code);
subject.login(token);
第三方登錄(如微信登錄、QQ登錄):用戶點擊第三方登錄按鈕,跳轉到第三方登錄頁面,登錄成功后返回授權碼,后臺使用授權碼獲取用戶信息,驗證通過后登錄成功。
OAuth2Token token = new OAuth2Token(code);
subject.login(token);
單點登錄(SSO):用戶在一個系統登錄成功后,可以在其他系統中免登錄訪問,實現多系統之間的登錄共享。
PrincipalCollection principals = new SimplePrincipalCollection(user, realmName);
subject.getSession().setAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY, principals);
以上是一些常見的shiro多方式登錄的實現方式,具體實現方法會根據具體情況而有所不同。在實際應用中,你可以根據自己的需求選擇適合的方式,并進行相應的配置和開發。