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