-
- Downloads
Merge branch 'flexible-identifiers' into 'master'
Add IdentifiersFactory for more configurable UDS UserDetailsService Defaults to same behavior (treat argument to loadUserByUsername as a NetID username), but allows for easy override with PVI and others. Use case: consider STAR. star-war supports impersonation via 'On-Behalf-Of' header. Inside the `SwitchUserOnHeaderFilter` is a reference to a `UserDetailsService`. The user attribute value of the 'On-Behalf-Of' header is passed into that `UserDetailsService#loadUserByUsername(String)` method. Prior to this contribution, `UdsPersonUserDetailsServiceImpl` could ONLY accept a NetID username. This contribution defaults to that same behavior. However, if one wants to use a different user attribute, they would simply add a `@Bean` to their Spring ApplicationContext: ```java @Bean public IdentifiersFactory pviIdentifiersFactory() { return new IdentifiersFactory.PVI(); } ``` With the magic of `@Autowired(required=false)`, the default Netid configuration is replaced, and one can now pass PVIs into the `SwitchUserOnHeaderFilter`. A few other interested parties: @paul.erickson @ahoffmann @bjsousa See merge request !6
No related branches found
No related tags found
Showing
- uw-spring-security-core/src/main/java/edu/wisc/uwss/uds/IdentifiersBuilder.java 122 additions, 0 deletions...e/src/main/java/edu/wisc/uwss/uds/IdentifiersBuilder.java
- uw-spring-security-core/src/main/java/edu/wisc/uwss/uds/IdentifiersFactory.java 46 additions, 0 deletions...e/src/main/java/edu/wisc/uwss/uds/IdentifiersFactory.java
- uw-spring-security-core/src/main/java/edu/wisc/uwss/uds/UdsPersonUserDetailsImpl.java 2 additions, 3 deletions...main/java/edu/wisc/uwss/uds/UdsPersonUserDetailsImpl.java
- uw-spring-security-core/src/main/java/edu/wisc/uwss/uds/UdsPersonUserDetailsServiceImpl.java 10 additions, 9 deletions...va/edu/wisc/uwss/uds/UdsPersonUserDetailsServiceImpl.java
- uw-spring-security-core/src/test/java/edu/wisc/uwss/uds/IdentifiersBuilderTest.java 89 additions, 0 deletions...c/test/java/edu/wisc/uwss/uds/IdentifiersBuilderTest.java
- uw-spring-security-core/src/test/java/edu/wisc/uwss/uds/UdsPersonUserDetailsImplTest.java 0 additions, 1 deletion.../java/edu/wisc/uwss/uds/UdsPersonUserDetailsImplTest.java
Please register or sign in to comment