下面列出了怎么用org.springframework.security.core.userdetails.ReactiveUserDetailsService的API类实例代码及写法,或者点击链接到github查看源代码。
@Bean
public ReactiveUserDetailsService userDetailsService(PasswordEncoder passwordEncoder) {
UserDetails admin = User
.withUsername("admin")
.password(passwordEncoder.encode("admin12345678"))
.roles("ADMIN", "MEMBER")
.build();
UserDetails caterpillar = User
.withUsername("caterpillar")
.password(passwordEncoder.encode("12345678"))
.roles("MEMBER")
.build();
return new MapReactiveUserDetailsService(admin, caterpillar);
}
public CustomReactiveAuthenticationManager(ReactiveUserDetailsService userDetailsService, JwtTokenUtil jwtTokenUtil) {
Assert.notNull(userDetailsService, "userDetailsService cannot be null");
Assert.notNull(jwtTokenUtil, "jwtTokenUtil cannot be null");
this.userDetailsService = userDetailsService;
this.jwtTokenUtil = jwtTokenUtil;
}
public JwtAuthenticationConverter(ReactiveUserDetailsService userDetailsService, JwtTokenUtil jwtTokenUtil) {
Assert.notNull(userDetailsService, "userDetailsService cannot be null");
Assert.notNull(jwtTokenUtil, "jwtTokenUtil cannot be null");
this.userDetailsService = userDetailsService;
this.jwtTokenUtil = jwtTokenUtil;
}
@Bean
ReactiveUserDetailsService authentication() {
return new MapReactiveUserDetailsService(
User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("USER")
.build()
);
}
@Bean
ReactiveUserDetailsService authentication() {
return new MapReactiveUserDetailsService(
User.withDefaultPasswordEncoder()
.roles("USER")
.username("user")
.password("password")
.build());
}
@Bean
ReactiveUserDetailsService authentication() {
return new MapReactiveUserDetailsService(
User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("USER")
.build()
);
}
@Bean
ReactiveUserDetailsService authentication() {
return new MapReactiveUserDetailsService(
User.withDefaultPasswordEncoder()
.roles("USER")
.username("user")
.password("password")
.build());
}
@Bean
public ReactiveUserDetailsService userDetailsService(PasswordEncoder passwordEncoder) {
UserDetails webclient = User
.withUsername(clientName)
.password(passwordEncoder.encode(clientSecret))
.roles("account", "message", "email")
.build();
return new MapReactiveUserDetailsService(webclient);
}
@Bean
public ReactiveUserDetailsService userDetailsService(AccountDAO accountDAO, Scheduler scheduler) {
return username -> {
return Mono.defer(() -> {
return Mono.justOrEmpty(accountDAO.accountByUsername(username))
.map(acct -> {
return User.withUsername(username)
.password(acct.getPassword())
.roles("MEMBER")
.build();
});
}).subscribeOn(scheduler);
};
}
@Bean
public ReactiveUserDetailsService userDetailsService(AccountDAO accountDAO, Scheduler scheduler) {
return username -> {
return Mono.defer(() -> {
return Mono.justOrEmpty(accountDAO.accountByUsername(username))
.map(acct -> {
return User.withUsername(username)
.password(acct.getPassword())
.roles("MEMBER")
.build();
});
}).subscribeOn(scheduler);
};
}
@Bean
public ReactiveAuthenticationManager authenticationManager(ReactiveUserDetailsService userDetailsService, PasswordEncoder passwordEncoder) {
UserDetailsRepositoryReactiveAuthenticationManager manager = new UserDetailsRepositoryReactiveAuthenticationManager(userDetailsService);
manager.setPasswordEncoder(passwordEncoder);
return manager;
}
@Bean
public ReactiveAuthenticationManager authenticationManager(ReactiveUserDetailsService userDetailsService, PasswordEncoder passwordEncoder) {
UserDetailsRepositoryReactiveAuthenticationManager manager = new UserDetailsRepositoryReactiveAuthenticationManager(userDetailsService);
manager.setPasswordEncoder(passwordEncoder);
return manager;
}
@Bean
public ReactiveUserDetailsService userDetailsService(UserRepository users) {
return (username) -> users.findByUsername(username).cast(UserDetails.class);
}