1 package org.oxerr.spring.security.wechat.samples.helloworld.service.impl;
2
3 import java.util.Arrays;
4 import java.util.Collection;
5
6 import org.springframework.security.core.GrantedAuthority;
7 import org.springframework.security.core.userdetails.UserDetails;
8
9 import com.foxinmy.weixin4j.mp.model.User;
10
11 public class WeChatUserDetails implements UserDetails {
12
13 private static final long serialVersionUID = 2016100101L;
14
15 private final User user;
16
17 public WeChatUserDetails(User user) {
18 this.user = user;
19 }
20
21 public User getUser() {
22 return user;
23 }
24
25
26
27
28 @Override
29 public Collection<? extends GrantedAuthority> getAuthorities() {
30 return Arrays.asList(new GrantedAuthority() {
31
32 private static final long serialVersionUID = 2016100101L;
33
34 @Override
35 public String getAuthority() {
36 return "ROLE_USER";
37 }
38
39 });
40 }
41
42
43
44
45 @Override
46 public String getPassword() {
47 return null;
48 }
49
50
51
52
53 @Override
54 public String getUsername() {
55 return "username of " + this.getUser().getOpenId();
56 }
57
58
59
60
61 @Override
62 public boolean isAccountNonExpired() {
63 return true;
64 }
65
66
67
68
69 @Override
70 public boolean isAccountNonLocked() {
71 return true;
72 }
73
74
75
76
77 @Override
78 public boolean isCredentialsNonExpired() {
79 return true;
80 }
81
82
83
84
85 @Override
86 public boolean isEnabled() {
87 return true;
88 }
89
90
91
92
93 @Override
94 public String toString() {
95 return this.getUser().toString();
96 }
97
98 }