|
@@ -42,6 +42,8 @@ public class CasdoorAuthenticator extends AbstractSsoAuthenticator {
|
|
private CasdoorAuthService casdoorAuthService;
|
|
private CasdoorAuthService casdoorAuthService;
|
|
@Value("${casdoor.redirect-url}")
|
|
@Value("${casdoor.redirect-url}")
|
|
private String redirectUrl;
|
|
private String redirectUrl;
|
|
|
|
+ @Value("${security.authentication.casdoor.user.admin:#{null}}")
|
|
|
|
+ private String adminUserName;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public User login(String state, String code, String extra) {
|
|
public User login(String state, String code, String extra) {
|
|
@@ -66,12 +68,17 @@ public class CasdoorAuthenticator extends AbstractSsoAuthenticator {
|
|
// check if user exist
|
|
// check if user exist
|
|
user = usersService.getUserByUserName(casdoorUser.getName());
|
|
user = usersService.getUserByUserName(casdoorUser.getName());
|
|
if (user == null) {
|
|
if (user == null) {
|
|
- user = usersService.createUser(UserType.GENERAL_USER, casdoorUser.getName(), casdoorUser.getEmail());
|
|
|
|
|
|
+ user = usersService.createUser(getUserType(casdoorUser.getName()), casdoorUser.getName(),
|
|
|
|
+ casdoorUser.getEmail());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return user;
|
|
return user;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public UserType getUserType(String userName) {
|
|
|
|
+ return adminUserName.equalsIgnoreCase(userName) ? UserType.ADMIN_USER : UserType.GENERAL_USER;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public String getSignInUrl(String state) {
|
|
public String getSignInUrl(String state) {
|
|
return casdoorAuthService.getSigninUrl(redirectUrl, state);
|
|
return casdoorAuthService.getSigninUrl(redirectUrl, state);
|