shiro,多realm管理,实现微信小程序自动登录问题

KeeperZoo 发布于 02/21 17:51
阅读 440
收藏 0
/**
     * 鉴权   openid 判断是否用户是否已经绑定微信
     * @param token
     * @return
     * @throws AuthenticationException
     */
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {

        String openid = (String) token.getPrincipal();
        User exUser = sysUserDao.getbyWxaOpenId(openid);
        if (exUser != null) {
            AuthenticationInfo authcInfo = new SimpleAuthenticationInfo(openid, "ok", this.getClass().getSimpleName());
            return authcInfo;
        } else {
            return null;
        }

项目中有账号密码,和微信小程序code自动登录两种验证方式,这个已经实现了.

现在问题是微信的自动登录使用的是微信的openid实现的,上面是realm鉴权操作,使用openid查询绑定user. 问题是本应该是保存user的,但是现在保存的openid .现在使用

SecurityUtils.getSubject().getPrincipal()

获取到的是字符串openid并不是实体类user

加载中
返回顶部
顶部