shiro多方式登錄怎么實(shí)現(xiàn)

小億
179
2024-01-03 23:47:14
欄目: 編程語言

shiro框架提供了多種方式實(shí)現(xiàn)用戶登錄,常用的方式包括以下幾種:

  1. 用戶名密碼登錄:用戶輸入用戶名和密碼,在后臺(tái)進(jìn)行驗(yàn)證,驗(yàn)證通過后登錄成功。

    UsernamePasswordToken token = new UsernamePasswordToken(username, password);
    subject.login(token);
    
  2. 手機(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);
    
  3. 第三方登錄(如微信登錄、QQ登錄):用戶點(diǎn)擊第三方登錄按鈕,跳轉(zhuǎn)到第三方登錄頁面,登錄成功后返回授權(quán)碼,后臺(tái)使用授權(quán)碼獲取用戶信息,驗(yàn)證通過后登錄成功。

    OAuth2Token token = new OAuth2Token(code);
    subject.login(token);
    
  4. 單點(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ā)。

0