Feature hawkbit uaa extension (#317)
* use UserPrincipal to determine tenant at runtime Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com> * add hawkbit-uaa extension Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com> * adapt WithSpringAuthorityRule with UserPrincipal for determine tenant Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com> * fix String principal in DDI download resource Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com> * merge the email to the UserPrincipal from the master manually Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com> * Fixed some grammar issues and typos Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
This commit is contained in:
@@ -13,6 +13,7 @@ import java.util.ArrayList;
|
||||
import org.eclipse.hawkbit.im.authentication.MultitenancyIndicator;
|
||||
import org.eclipse.hawkbit.im.authentication.PermissionUtils;
|
||||
import org.eclipse.hawkbit.im.authentication.TenantAwareAuthenticationDetails;
|
||||
import org.eclipse.hawkbit.im.authentication.UserPrincipal;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.security.SecurityProperties;
|
||||
@@ -52,7 +53,7 @@ public class InMemoryUserManagementConfiguration extends GlobalAuthenticationCon
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public UserDetailsService userDetailsService() {
|
||||
final InMemoryUserDetailsManager inMemoryUserDetailsManager = new InMemoryUserDetailsManager(new ArrayList<>());
|
||||
final InMemoryUserDetailsManager inMemoryUserDetailsManager = new InMemoryUserPrincipalDetailsManager();
|
||||
inMemoryUserDetailsManager.setAuthenticationManager(null);
|
||||
inMemoryUserDetailsManager.createUser(new User(securityProperties.getUser().getName(),
|
||||
securityProperties.getUser().getPassword(), PermissionUtils.createAllAuthorityList()));
|
||||
@@ -79,4 +80,19 @@ public class InMemoryUserManagementConfiguration extends GlobalAuthenticationCon
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
private static final class InMemoryUserPrincipalDetailsManager extends InMemoryUserDetailsManager {
|
||||
|
||||
private InMemoryUserPrincipalDetailsManager() {
|
||||
super(new ArrayList<>());
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(final String username) {
|
||||
final UserDetails loadUserByUsername = super.loadUserByUsername(username);
|
||||
return new UserPrincipal(loadUserByUsername.getUsername(), loadUserByUsername.getPassword(),
|
||||
loadUserByUsername.getUsername(), loadUserByUsername.getUsername(),
|
||||
loadUserByUsername.getUsername(), null, "DEFAULT", loadUserByUsername.getAuthorities());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user