本文整理了Java中org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity
类的一些代码示例,展示了EnableWebFluxSecurity
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。EnableWebFluxSecurity
类的具体详情如下:
包路径:org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity
类名称:EnableWebFluxSecurity
暂无
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
static class MapReactiveUserDetailsServiceConfig {
@Bean
public MapReactiveUserDetailsService userDetailsService() {
return new MapReactiveUserDetailsService(User.withUsername("user")
.password("{noop}password")
.roles("USER")
.build()
);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
static class OAuth2LoginWithMultipleClientRegistrations {
@Bean
InMemoryReactiveClientRegistrationRepository clientRegistrationRepository() {
return new InMemoryReactiveClientRegistrationRepository(github, google);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
static class OAuth2LoginWithSingleClientRegistrations {
@Bean
InMemoryReactiveClientRegistrationRepository clientRegistrationRepository() {
return new InMemoryReactiveClientRegistrationRepository(github);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
static class CustomPasswordEncoderConfig {
@Bean
public ReactiveUserDetailsService userDetailsService(PasswordEncoder encoder) {
return new MapReactiveUserDetailsService(User.withUsername("user")
.password(encoder.encode("password"))
.roles("USER")
.build()
);
}
@Bean
public static PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
@Import(ReactiveAuthenticationTestConfiguration.class)
static class Config {
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
@Import(ReactiveAuthenticationTestConfiguration.class)
static class MultiSecurityHttpConfig {
@Order(Ordered.HIGHEST_PRECEDENCE)
@Bean
public SecurityWebFilterChain apiHttpSecurity(
ServerHttpSecurity http) {
http.securityMatcher(new PathPatternParserServerWebExchangeMatcher("/api/**"))
.authorizeExchange().anyExchange().denyAll();
return http.build();
}
@Bean
public SecurityWebFilterChain httpSecurity(ServerHttpSecurity http) {
return http.build();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class RedirectToHttpConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
// @formatter:off
http
.redirectToHttps();
// @formatter:on
return http.build();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class ClientRegistrationConfig {
private ClientRegistration clientRegistration = TestClientRegistrations.clientRegistration()
.build();
@Bean
InMemoryReactiveClientRegistrationRepository clientRegistrationRepository() {
return new InMemoryReactiveClientRegistrationRepository(this.clientRegistration);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class SometimesRedirectToHttpsConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
// @formatter:off
http
.redirectToHttps()
.httpsRedirectWhen(new PathPatternParserServerWebExchangeMatcher("/secure"));
// @formatter:on
return http.build();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class DenyAllConfig {
@Bean
SecurityWebFilterChain authorization(ServerHttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeExchange()
.anyExchange().denyAll()
.and()
.oauth2ResourceServer()
.jwt()
.publicKey(publicKey());
// @formatter:on
return http.build();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class PublicKeyConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeExchange()
.anyExchange().hasAuthority("SCOPE_message:read")
.and()
.oauth2ResourceServer()
.jwt()
.publicKey(publicKey());
// @formatter:on
return http.build();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class RedirectToHttpsViaCustomPortsConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
// @formatter:off
http
.redirectToHttps()
.portMapper(portMapper());
// @formatter:on
return http.build();
}
@Bean
public PortMapper portMapper() {
return mock(PortMapper.class);
}
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class CustomDecoderConfig {
ReactiveJwtDecoder jwtDecoder = mock(ReactiveJwtDecoder.class);
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
// @formatter:off
http
.oauth2ResourceServer()
.jwt();
// @formatter:on
return http.build();
}
@Bean
ReactiveJwtDecoder jwtDecoder() {
return this.jwtDecoder;
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class Config {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
http
.oauth2Client();
return http.build();
}
@Bean
ReactiveClientRegistrationRepository clientRegistrationRepository() {
return mock(ReactiveClientRegistrationRepository.class);
}
@Bean
ServerOAuth2AuthorizedClientRepository authorizedClientRepository() {
return mock(ServerOAuth2AuthorizedClientRepository.class);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class CustomAuthenticationManagerConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
// @formatter:off
http
.oauth2ResourceServer()
.jwt()
.authenticationManager(authenticationManager());
// @formatter:on
return http.build();
}
@Bean
ReactiveAuthenticationManager authenticationManager() {
return mock(ReactiveAuthenticationManager.class);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class CustomErrorHandlingConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeExchange()
.pathMatchers("/authenticated").authenticated()
.pathMatchers("/unobtainable").hasAuthority("unobtainable")
.and()
.oauth2ResourceServer()
.accessDeniedHandler(new HttpStatusServerAccessDeniedHandler(HttpStatus.BANDWIDTH_LIMIT_EXCEEDED))
.authenticationEntryPoint(new HttpStatusServerEntryPoint(HttpStatus.I_AM_A_TEAPOT))
.jwt()
.publicKey(publicKey());
// @formatter:on
return http.build();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFluxSecurity
@EnableWebFlux
@Import(ReactiveAuthenticationTestConfiguration.class)
static class AuthenticationPrincipalConfig {
@Bean
public PrincipalBean principalBean() {
return new PrincipalBean();
}
static class PrincipalBean {
public String username(UserDetails user) {
return user.getUsername();
}
}
@RestController
public static class AuthenticationPrincipalResolver {
@GetMapping("/spel")
String username(@AuthenticationPrincipal(expression = "@principalBean.username(#this)") String username) {
return username;
}
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class CustomBearerTokenServerAuthenticationConverter {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeExchange()
.anyExchange().hasAuthority("SCOPE_message:read")
.and()
.oauth2ResourceServer()
.bearerTokenConverter(bearerTokenAuthenticationConverter())
.jwt()
.publicKey(publicKey());
// @formatter:on
return http.build();
}
@Bean
ServerAuthenticationConverter bearerTokenAuthenticationConverter() {
return exchange -> Mono.justOrEmpty(exchange.getRequest().getCookies().getFirst("TOKEN").getValue())
.map(BearerTokenAuthenticationToken::new);
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class JwkSetUriConfig {
private MockWebServer mockWebServer = new MockWebServer();
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) {
String jwkSetUri = mockWebServer().url("/.well-known/jwks.json").toString();
// @formatter:off
http
.oauth2ResourceServer()
.jwt()
.jwkSetUri(jwkSetUri);
// @formatter:on
return http.build();
}
@Bean
MockWebServer mockWebServer() {
return this.mockWebServer;
}
@PreDestroy
void shutdown() throws IOException {
this.mockWebServer.shutdown();
}
}
代码示例来源:origin: spring-projects/spring-security
@EnableWebFlux
@EnableWebFluxSecurity
static class CustomJwtAuthenticationConverterConfig {
@Bean
SecurityWebFilterChain springSecurity(ServerHttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeExchange()
.anyExchange().hasAuthority("message:read")
.and()
.oauth2ResourceServer()
.jwt()
.jwtAuthenticationConverter(jwtAuthenticationConverter())
.publicKey(publicKey());
// @formatter:on
return http.build();
}
@Bean
Converter<Jwt, Mono<AbstractAuthenticationToken>> jwtAuthenticationConverter() {
JwtAuthenticationConverter converter = new JwtAuthenticationConverter() {
@Override
protected Collection<GrantedAuthority> extractAuthorities(Jwt jwt) {
String[] claims = ((String) jwt.getClaims().get("scope")).split(" ");
return Stream.of(claims).map(SimpleGrantedAuthority::new).collect(Collectors.toList());
}
};
return new ReactiveJwtAuthenticationConverterAdapter(converter);
}
}
内容来源于网络,如有侵权,请联系作者删除!