类 User


  • public class User
    extends User
    User客户端

    登录登出、第三方登录、token自动解析获取用户信息、分布式验证码

    从以下版本开始:
    2018年4月24日
    作者:
    ylyue
    • 构造器详细资料

      • User

        public User()
    • 方法详细资料

      • getWxAccessToken

        public AccessTokenVO getWxAccessToken​(String code)
        微信-获取access_token
        参数:
        code - 微信授权code码
        返回:
        accessTokenVO,参考微信返回说明文档
      • getWxUserInfo

        public WxUserDTO getWxUserInfo​(String access_token,
                                       String openid)
        微信-获取用户个人信息
        参数:
        access_token - 调用凭证
        openid - 普通用户的标识,对当前开发者帐号唯一
        返回:
        WxUserDTO,开发者最好保存unionID信息,以便以后在不同应用之间进行用户信息互通。
      • getQqUserInfo

        public QqUserDTO getQqUserInfo​(String access_token,
                                       String openid)
        获取用户个人信息
        参数:
        access_token - 调用凭证
        openid - 普通用户的标识,对当前开发者帐号唯一
        返回:
        QqUserDTO
      • getCaptchaImage

        public void getCaptchaImage()
        获得-验证码图片(基于redis解决分布式验证的问题)

        将验证码设置到redis

        将验证码图片写入response,并设置ContentType为image/png

      • captchaValidate

        public void captchaValidate​(String captcha)
        验证-验证码(基于redis解决分布式验证的问题)

        验证码错误会抛出一个ResultException异常,作为结果提示...

        参数:
        captcha - 验证码
        抛出:
        ai.yue.library.base.exception.ResultException - 验证码错误
      • login

        public String login​(Object userInfo)
        登录

        登录成功-设置token至Cookie

        登录成功-设置token至Header

        注意:登录之后的所有相关操作,都是基于请求报文中所携带的token,若Cookie与Header皆没有token或Redis中匹配不到值,将视为未登录状态

        参数:
        userInfo - 用户信息(必须包含:AuthProperties.getUserKey(),默认:userId,可通过配置文件进行配置
        返回:
        token 身份认证令牌 (不建议使用,最好是忽略这个返回值,哪怕你只是将他放在响应体里面,也不推荐这样做)

        支持Cookie:建议使用默认的机制即可

        不支持Cookie:建议从响应Header中获取token,之后的请求都将token放入请求Header中即可

      • logout

        public ai.yue.library.base.view.Result<?> logout()
        登出

        清除Redis-token

        清除Cookie-token

        返回:
        成功