Browse Source

1.增加用户的账号禁用时间,通过禁用时间对用户进行账号的限制

master
pref_mail@163.com 2 years ago
parent
commit
367679982d
  1. 2
      blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetails.java
  2. 7
      blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java
  3. 1
      blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java
  4. 5
      blade-service-api/blade-user-api/src/main/java/org/springblade/system/entity/User.java
  5. 1
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.xml

2
blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetails.java

@ -80,6 +80,8 @@ public class BladeUserDetails extends User {
*/ */
private final Kv detail; private final Kv detail;
public BladeUserDetails(Long userId, String tenantId, String oauthId, String name, String realName, String deptId, String postId, String roleId, String roleName, String avatar, String username, String password, Kv detail, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities) { public BladeUserDetails(Long userId, String tenantId, String oauthId, String name, String realName, String deptId, String postId, String roleId, String roleName, String avatar, String username, String password, Kv detail, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities) {
super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
this.userId = userId; this.userId = userId;

7
blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java

@ -43,6 +43,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.time.Duration; import java.time.Duration;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -147,6 +148,12 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService {
} }
user.setRoleId(headerRole); user.setRoleId(headerRole);
} }
// 判断账号的停用时间
if(Func.isNotEmpty(user.getDownTime()) && user.getDownTime().getTime() < new Date().getTime()){
throw new UserDeniedAuthorizationException(TokenUtil.ACCOUNT_DISABLE);
}
// 成功则清除登录错误次数 // 成功则清除登录错误次数
delFailCount(tenantId, username); delFailCount(tenantId, username);
return new BladeUserDetails(user.getId(), return new BladeUserDetails(user.getId(),

1
blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java

@ -79,6 +79,7 @@ public class TokenUtil {
public final static String PASSWORD_KEY = "password"; public final static String PASSWORD_KEY = "password";
public final static String GRANT_TYPE_KEY = "grant_type"; public final static String GRANT_TYPE_KEY = "grant_type";
public final static String REFRESH_TOKEN_KEY = "refresh_token"; public final static String REFRESH_TOKEN_KEY = "refresh_token";
public final static String ACCOUNT_DISABLE = "当前账号已被禁用,请联系管理员";
private static BladeTenantProperties tenantProperties; private static BladeTenantProperties tenantProperties;

5
blade-service-api/blade-user-api/src/main/java/org/springblade/system/entity/User.java

@ -92,5 +92,10 @@ public class User extends TenantEntity {
*/ */
private String postId; private String postId;
/**
* 账号停用时间
*/
private Date downTime;
} }

1
blade-service/blade-system/src/main/java/org/springblade/system/mapper/UserMapper.xml

@ -25,6 +25,7 @@
<result column="role_id" property="roleId"/> <result column="role_id" property="roleId"/>
<result column="dept_id" property="deptId"/> <result column="dept_id" property="deptId"/>
<result column="post_id" property="postId"/> <result column="post_id" property="postId"/>
<result column="down_time" property="downTime"/>
</resultMap> </resultMap>
<select id="selectUserPage" resultMap="userResultMap"> <select id="selectUserPage" resultMap="userResultMap">

Loading…
Cancel
Save