WechatRealm.java 957 B

1234567891011121314151617181920212223
  1. package com.izouma.awesomeadmin.shiro;
  2. import com.izouma.awesomeadmin.model.UserInfo;
  3. import com.izouma.awesomeadmin.service.impl.UserInfoServiceImpl;
  4. import org.apache.shiro.authc.AuthenticationException;
  5. import org.apache.shiro.authc.AuthenticationInfo;
  6. import org.apache.shiro.authc.AuthenticationToken;
  7. import org.apache.shiro.authc.SimpleAuthenticationInfo;
  8. public class WechatRealm extends BaseRealm {
  9. @Override
  10. protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
  11. UserInfo userInfo = null;
  12. WechatToken wechatToken = (WechatToken) token;
  13. try {
  14. userInfo = userInfoService.loginWechat(wechatToken.getCode());
  15. return new SimpleAuthenticationInfo(userInfo, token.getCredentials(), this.getName());
  16. } catch (UserInfoServiceImpl.LoginException e) {
  17. throw new AuthenticationException(e.getMessage());
  18. }
  19. }
  20. }