mirror of
				https://github.com/spring-projects/spring-security.git
				synced 2025-10-30 22:28:46 +00:00 
			
		
		
		
	NamespaceAuthenticationProviderTests groovy->java
Issue: gh-4939
This commit is contained in:
		
							parent
							
								
									6e5ae7ae63
								
							
						
					
					
						commit
						a0918dd6d4
					
				| @ -1,81 +0,0 @@ | ||||
| /* | ||||
|  * Copyright 2002-2013 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.config.annotation.authentication | ||||
| 
 | ||||
| import org.springframework.context.annotation.Bean | ||||
| import org.springframework.context.annotation.Configuration | ||||
| import org.springframework.security.authentication.AuthenticationManager | ||||
| import org.springframework.security.authentication.dao.DaoAuthenticationProvider | ||||
| import org.springframework.security.config.annotation.BaseSpringSpec | ||||
| import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; | ||||
| import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; | ||||
| import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; | ||||
| import org.springframework.security.provisioning.InMemoryUserDetailsManager | ||||
| 
 | ||||
| /** | ||||
|  * | ||||
|  * @author Rob Winch | ||||
|  * | ||||
|  */ | ||||
| class NamespaceAuthenticationProviderTests extends BaseSpringSpec { | ||||
| 	def "authentication-provider@ref"() { | ||||
| 		when: | ||||
| 			loadConfig(AuthenticationProviderRefConfig) | ||||
| 		then: | ||||
| 			authenticationProviders()[1] == AuthenticationProviderRefConfig.expected | ||||
| 	} | ||||
| 
 | ||||
| 	@EnableWebSecurity | ||||
| 	static class AuthenticationProviderRefConfig extends WebSecurityConfigurerAdapter { | ||||
| 		static DaoAuthenticationProvider expected = new DaoAuthenticationProvider() | ||||
| 		protected void configure(AuthenticationManagerBuilder auth) throws Exception { | ||||
| 			auth | ||||
| 				.authenticationProvider(expected) | ||||
| 		} | ||||
| 
 | ||||
| 		// Only necessary to have access to verify the AuthenticationManager | ||||
| 		@Bean | ||||
| 		@Override | ||||
| 		public AuthenticationManager authenticationManagerBean() | ||||
| 				throws Exception { | ||||
| 			return super.authenticationManagerBean(); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	def "authentication-provider@user-service-ref"() { | ||||
| 		when: | ||||
| 			loadConfig(UserServiceRefConfig) | ||||
| 		then: | ||||
| 			findAuthenticationProvider(DaoAuthenticationProvider).userDetailsService == UserServiceRefConfig.expected | ||||
| 	} | ||||
| 
 | ||||
| 	@EnableWebSecurity | ||||
| 	static class UserServiceRefConfig extends WebSecurityConfigurerAdapter { | ||||
| 		static InMemoryUserDetailsManager expected = new InMemoryUserDetailsManager([] as Collection) | ||||
| 		protected void configure(AuthenticationManagerBuilder auth) throws Exception { | ||||
| 			auth | ||||
| 				.userDetailsService(expected) | ||||
| 		} | ||||
| 
 | ||||
| 		// Only necessary to have access to verify the AuthenticationManager | ||||
| 		@Bean | ||||
| 		@Override | ||||
| 		public AuthenticationManager authenticationManagerBean() | ||||
| 				throws Exception { | ||||
| 			return super.authenticationManagerBean(); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| @ -0,0 +1,92 @@ | ||||
| /* | ||||
|  * Copyright 2002-2018 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.config.annotation.authentication; | ||||
| 
 | ||||
| import org.junit.Rule; | ||||
| import org.junit.Test; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.security.authentication.dao.DaoAuthenticationProvider; | ||||
| import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; | ||||
| import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; | ||||
| import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; | ||||
| import org.springframework.security.config.test.SpringTestRule; | ||||
| import org.springframework.security.core.userdetails.PasswordEncodedUser; | ||||
| import org.springframework.security.core.userdetails.UserDetailsService; | ||||
| import org.springframework.security.provisioning.InMemoryUserDetailsManager; | ||||
| import org.springframework.test.web.servlet.MockMvc; | ||||
| 
 | ||||
| import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestBuilders.formLogin; | ||||
| import static org.springframework.security.test.web.servlet.response.SecurityMockMvcResultMatchers.authenticated; | ||||
| 
 | ||||
| /** | ||||
|  * @author Rob Winch | ||||
|  */ | ||||
| public class NamespaceAuthenticationProviderTests { | ||||
| 
 | ||||
| 	@Rule | ||||
| 	public final SpringTestRule spring = new SpringTestRule(); | ||||
| 
 | ||||
| 	@Autowired | ||||
| 	private MockMvc mockMvc; | ||||
| 
 | ||||
| 	@Test | ||||
| 	// authentication-provider@ref | ||||
| 	public void authenticationProviderRef() throws Exception { | ||||
| 		this.spring.register(AuthenticationProviderRefConfig.class).autowire(); | ||||
| 
 | ||||
| 		this.mockMvc.perform(formLogin()) | ||||
| 			.andExpect(authenticated().withUsername("user")); | ||||
| 	} | ||||
| 
 | ||||
| 	@EnableWebSecurity | ||||
| 	static class AuthenticationProviderRefConfig extends WebSecurityConfigurerAdapter { | ||||
| 		protected void configure(AuthenticationManagerBuilder auth) throws Exception { | ||||
| 			auth | ||||
| 				.authenticationProvider(authenticationProvider()); | ||||
| 		} | ||||
| 
 | ||||
| 		@Bean | ||||
| 		public DaoAuthenticationProvider authenticationProvider() { | ||||
| 			DaoAuthenticationProvider result = new DaoAuthenticationProvider(); | ||||
| 			result.setUserDetailsService(new InMemoryUserDetailsManager(PasswordEncodedUser.user())); | ||||
| 			return result; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	@Test | ||||
| 	// authentication-provider@user-service-ref | ||||
| 	public void authenticationProviderUserServiceRef() throws Exception { | ||||
| 		this.spring.register(AuthenticationProviderRefConfig.class).autowire(); | ||||
| 
 | ||||
| 		this.mockMvc.perform(formLogin()) | ||||
| 			.andExpect(authenticated().withUsername("user")); | ||||
| 	} | ||||
| 
 | ||||
| 	@EnableWebSecurity | ||||
| 	static class UserServiceRefConfig extends WebSecurityConfigurerAdapter { | ||||
| 		protected void configure(AuthenticationManagerBuilder auth) throws Exception { | ||||
| 			auth | ||||
| 				.userDetailsService(userDetailsService()); | ||||
| 		} | ||||
| 
 | ||||
| 		@Bean | ||||
| 		public UserDetailsService userDetailsService() { | ||||
| 			return new InMemoryUserDetailsManager(PasswordEncodedUser.user()); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user