From 28b34b8b855e475ff8fe13d2da885f786fa8fd4c Mon Sep 17 00:00:00 2001 From: monkeyk7 Date: Sun, 10 Sep 2017 20:21:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E5=BF=85=E8=A6=81?= =?UTF-8?q?=E7=9A=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shared/security/WdcyUserDetails.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/monkeyk/sos/domain/shared/security/WdcyUserDetails.java b/src/main/java/com/monkeyk/sos/domain/shared/security/WdcyUserDetails.java index c51f37a..b9f4eff 100644 --- a/src/main/java/com/monkeyk/sos/domain/shared/security/WdcyUserDetails.java +++ b/src/main/java/com/monkeyk/sos/domain/shared/security/WdcyUserDetails.java @@ -19,13 +19,28 @@ public class WdcyUserDetails implements UserDetails { private static final long serialVersionUID = 3957586021470480642L; + + /** + * 角色权限 前缀 + * + * @see org.springframework.security.access.vote.RoleVoter + */ protected static final String ROLE_PREFIX = "ROLE_"; + + /** + * 默认的 用户角色 + * ROLE_USER + */ protected static final GrantedAuthority DEFAULT_USER_ROLE = new SimpleGrantedAuthority(ROLE_PREFIX + Privilege.USER.name()); protected User user; + /** + * 用户的授权集合 + */ protected List grantedAuthorities = new ArrayList<>(); + public WdcyUserDetails() { } @@ -34,6 +49,9 @@ public class WdcyUserDetails implements UserDetails { initialAuthorities(); } + /** + * 初始化用户角色,权限 + */ private void initialAuthorities() { //Default, everyone have it this.grantedAuthorities.add(DEFAULT_USER_ROLE); @@ -69,21 +87,25 @@ public class WdcyUserDetails implements UserDetails { return user.username(); } + /* 账户是否未过期 */ @Override public boolean isAccountNonExpired() { return true; } + /*账户是否未锁定 */ @Override public boolean isAccountNonLocked() { return true; } + /* 密码是否未过期 */ @Override public boolean isCredentialsNonExpired() { return true; } + /*账户是否启用,默认true (启用)*/ @Override public boolean isEnabled() { return true; @@ -96,9 +118,9 @@ public class WdcyUserDetails implements UserDetails { @Override public String toString() { - final StringBuilder sb = new StringBuilder(); - sb.append("{user=").append(user); - sb.append('}'); - return sb.toString(); + return "{" + + "user=" + user + + ", grantedAuthorities=" + grantedAuthorities + + '}'; } } \ No newline at end of file