Browse Source
It should be noted that equality checks or lookups with Strings or other authority types will now fail where they would have succeeded before.pull/1/head
45 changed files with 380 additions and 414 deletions
@ -0,0 +1,46 @@
@@ -0,0 +1,46 @@
|
||||
package org.springframework.security.core.authority; |
||||
|
||||
import org.springframework.security.core.GrantedAuthority; |
||||
import org.springframework.util.Assert; |
||||
|
||||
/** |
||||
* Basic concrete implementation of a {@link GrantedAuthority}. |
||||
* |
||||
* <p> |
||||
* Stores a {@code String} representation of an authority granted to the |
||||
* {@link org.springframework.security.core.Authentication Authentication} object. |
||||
* |
||||
* @author Luke Taylor |
||||
*/ |
||||
public final class SimpleGrantedAuthority implements GrantedAuthority { |
||||
private final String role; |
||||
|
||||
public SimpleGrantedAuthority(String role) { |
||||
Assert.hasText(role, "A granted authority textual representation is required"); |
||||
this.role = role; |
||||
} |
||||
|
||||
public String getAuthority() { |
||||
return role; |
||||
} |
||||
|
||||
public boolean equals(Object obj) { |
||||
if (this == obj) { |
||||
return true; |
||||
} |
||||
|
||||
if (obj instanceof SimpleGrantedAuthority) { |
||||
return role.equals(((SimpleGrantedAuthority) obj).role); |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
public int hashCode() { |
||||
return this.role.hashCode(); |
||||
} |
||||
|
||||
public String toString() { |
||||
return this.role; |
||||
} |
||||
} |
||||
@ -1,77 +0,0 @@
@@ -1,77 +0,0 @@
|
||||
/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited |
||||
* |
||||
* 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.authority; |
||||
|
||||
import static org.junit.Assert.*; |
||||
|
||||
import org.junit.Test; |
||||
import org.springframework.security.core.GrantedAuthority; |
||||
import org.springframework.security.core.authority.GrantedAuthorityImpl; |
||||
|
||||
|
||||
/** |
||||
* Tests {@link GrantedAuthorityImpl}. |
||||
* |
||||
* @author Ben Alex |
||||
*/ |
||||
public class GrantedAuthorityImplTests { |
||||
|
||||
@Test |
||||
public void equalsBehavesAsExpected() throws Exception { |
||||
GrantedAuthorityImpl auth1 = new GrantedAuthorityImpl("TEST"); |
||||
GrantedAuthorityImpl auth2 = new GrantedAuthorityImpl("TEST"); |
||||
assertEquals(auth1, auth2); |
||||
|
||||
String authString1 = "TEST"; |
||||
assertEquals(auth1, authString1); |
||||
|
||||
String authString2 = "NOT_EQUAL"; |
||||
assertTrue(!auth1.equals(authString2)); |
||||
|
||||
GrantedAuthorityImpl auth3 = new GrantedAuthorityImpl("NOT_EQUAL"); |
||||
assertTrue(!auth1.equals(auth3)); |
||||
|
||||
MockGrantedAuthority mock1 = new MockGrantedAuthority("TEST"); |
||||
assertEquals(auth1, mock1); |
||||
|
||||
MockGrantedAuthority mock2 = new MockGrantedAuthority("NOT_EQUAL"); |
||||
assertTrue(!auth1.equals(mock2)); |
||||
|
||||
Integer int1 = Integer.valueOf(222); |
||||
assertTrue(!auth1.equals(int1)); |
||||
} |
||||
|
||||
@Test |
||||
public void toStringReturnsAuthorityValue() { |
||||
GrantedAuthorityImpl auth = new GrantedAuthorityImpl("TEST"); |
||||
assertEquals("TEST", auth.toString()); |
||||
} |
||||
|
||||
|
||||
//~ Inner Classes ==================================================================================================
|
||||
|
||||
private class MockGrantedAuthority implements GrantedAuthority { |
||||
private String role; |
||||
|
||||
public MockGrantedAuthority(String role) { |
||||
this.role = role; |
||||
} |
||||
|
||||
public String getAuthority() { |
||||
return this.role; |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,54 @@
@@ -0,0 +1,54 @@
|
||||
/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited |
||||
* |
||||
* 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.authority; |
||||
|
||||
import static org.junit.Assert.*; |
||||
import static org.mockito.Mockito.*; |
||||
|
||||
import org.junit.*; |
||||
import org.springframework.security.core.GrantedAuthority; |
||||
|
||||
|
||||
/** |
||||
* Tests {@link SimpleGrantedAuthority}. |
||||
* |
||||
* @author Ben Alex |
||||
*/ |
||||
public class SimpleGrantedAuthorityTests { |
||||
|
||||
@Test |
||||
public void equalsBehavesAsExpected() throws Exception { |
||||
SimpleGrantedAuthority auth1 = new SimpleGrantedAuthority("TEST"); |
||||
assertEquals(auth1, auth1); |
||||
assertEquals(auth1, new SimpleGrantedAuthority("TEST")); |
||||
|
||||
assertFalse(auth1.equals("TEST")); |
||||
|
||||
SimpleGrantedAuthority auth3 = new SimpleGrantedAuthority("NOT_EQUAL"); |
||||
assertTrue(!auth1.equals(auth3)); |
||||
|
||||
assertFalse(auth1.equals(mock(GrantedAuthority.class))); |
||||
|
||||
assertFalse(auth1.equals(Integer.valueOf(222))); |
||||
} |
||||
|
||||
@Test |
||||
public void toStringReturnsAuthorityValue() { |
||||
SimpleGrantedAuthority auth = new SimpleGrantedAuthority("TEST"); |
||||
assertEquals("TEST", auth.toString()); |
||||
} |
||||
|
||||
} |
||||
Loading…
Reference in new issue