From e19fdb6cc19a384afbd4c25692db02baf741ec95 Mon Sep 17 00:00:00 2001 From: Joe Grandja Date: Thu, 30 Nov 2017 10:30:41 -0500 Subject: [PATCH] Remove AuthenticatedPrincipal from UserDetails Issue gh-4877 --- .../MapReactiveUserDetailsService.java | 2 +- .../core/userdetails/UserDetails.java | 13 +-- .../core/userdetails/UserDetailsTest.java | 81 ------------------- 3 files changed, 2 insertions(+), 94 deletions(-) delete mode 100644 core/src/test/java/org/springframework/security/core/userdetails/UserDetailsTest.java diff --git a/core/src/main/java/org/springframework/security/core/userdetails/MapReactiveUserDetailsService.java b/core/src/main/java/org/springframework/security/core/userdetails/MapReactiveUserDetailsService.java index a0cb3e0373..96dc152a91 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/MapReactiveUserDetailsService.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/MapReactiveUserDetailsService.java @@ -43,7 +43,7 @@ public class MapReactiveUserDetailsService implements ReactiveUserDetailsService public MapReactiveUserDetailsService(Collection users) { Assert.notEmpty(users, "users cannot be null or empty"); - this.users = users.stream().collect(Collectors.toConcurrentMap( u -> getKey(u.getName()), Function.identity())); + this.users = users.stream().collect(Collectors.toConcurrentMap( u -> getKey(u.getUsername()), Function.identity())); } @Override diff --git a/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java b/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java index 9f02589ad5..a396f853c7 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/UserDetails.java @@ -18,7 +18,6 @@ package org.springframework.security.core.userdetails; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.AuthenticatedPrincipal; import java.io.Serializable; import java.util.Collection; @@ -42,7 +41,7 @@ import java.util.Collection; * * @author Ben Alex */ -public interface UserDetails extends AuthenticatedPrincipal, Serializable { +public interface UserDetails extends Serializable { // ~ Methods // ======================================================================================================== @@ -100,14 +99,4 @@ public interface UserDetails extends AuthenticatedPrincipal, Serializable { * @return true if the user is enabled, false otherwise */ boolean isEnabled(); - - /** - * Returns the name of the user. Cannot return null. - * The default implementation of this method returns {@link #getUsername()}. - * - * @return the name of the user (never null) - */ - default String getName() { - return getUsername(); - } } diff --git a/core/src/test/java/org/springframework/security/core/userdetails/UserDetailsTest.java b/core/src/test/java/org/springframework/security/core/userdetails/UserDetailsTest.java deleted file mode 100644 index 14f6ed2348..0000000000 --- a/core/src/test/java/org/springframework/security/core/userdetails/UserDetailsTest.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2002-2017 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.security.core.userdetails; - -import org.junit.Test; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.AuthorityUtils; - -import java.util.Collection; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Tests {@link UserDetails} - * - * @author Joe Grandja - */ -public class UserDetailsTest { - - @Test - public void getNameWhenCalledThenDefaultToGetUsername() { - UserDetails userDetails = new MockUserDetails("joeg"); - assertThat(userDetails.getName()).isEqualTo(userDetails.getUsername()); - } - - private class MockUserDetails implements UserDetails { - private final String username; - - private MockUserDetails(String username) { - this.username = username; - } - - @Override - public Collection getAuthorities() { - return AuthorityUtils.NO_AUTHORITIES; - } - - @Override - public String getPassword() { - return null; - } - - @Override - public String getUsername() { - return this.username; - } - - @Override - public boolean isAccountNonExpired() { - return true; - } - - @Override - public boolean isAccountNonLocked() { - return true; - } - - @Override - public boolean isCredentialsNonExpired() { - return true; - } - - @Override - public boolean isEnabled() { - return true; - } - } -}