jiangping
2023-09-28 35baa39723180e0de2350b5b2287b1846dabaf58
server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
ÎļþÃû´Ó server/src/main/java/com/doumee/config/shiro/ShiroRealm.java ÐÞ¸Ä
@@ -1,15 +1,17 @@
package com.doumee.config.shiro;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.constants.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.system.model.SystemPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.system.SystemDataPermissionService;
import com.doumee.service.system.SystemPermissionService;
import com.doumee.service.system.SystemRoleService;
import com.doumee.service.system.SystemUserService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
@@ -22,6 +24,7 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
@@ -34,14 +37,14 @@
    @Lazy
    @Autowired
    private SystemDataPermissionService systemDataPermissionService;
    @Lazy
    @Autowired
    private SystemUserService systemUserService;
    @Lazy
    @Autowired
    private SystemRoleService systemRoleService;
    @Lazy
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Lazy
    @Autowired
@@ -68,7 +71,7 @@
     * @date 2022/03/15 09:54
     */
    @Override
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
    protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException{
        // èŽ·å–ç”¨æˆ·å
        String username = authenticationToken.getPrincipal().toString();
        // æ ¹æ®ç”¨æˆ·åæŸ¥è¯¢ç”¨æˆ·å¯¹è±¡
@@ -76,15 +79,13 @@
        queryDto.setUsername(username);
        queryDto.setDeleted(Constants.ZERO);
        SystemUser user = systemUserService.findOne(queryDto);
        if (user == null) {
            return null;
        if(user == null){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,账号或密码不正确!");
        }
            // èŽ·å–ç™»å½•ç”¨æˆ·ä¿¡æ¯
        List<SystemRole>       roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission>     permissions = systemPermissionService.findByUserId(user.getId());
        String imgPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.FILES_DIR,Constants.AVATAR_FILE).getCode();
        LoginUserInfo userInfo = LoginUserInfo.from(user, imgPath,roles, permissions);
        // èŽ·å–ç™»å½•ç”¨æˆ·ä¿¡æ¯
        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
        LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
        // éªŒè¯ç”¨æˆ·
        return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
    }