为什么验证授权码模式却弹出basic登录框
来源:6-3 SpringSecurityOAuth核心源码解析
![](http://img1.sycdn.imooc.com/user/5437bd3e0001b4f401800180-100-100.jpg)
TinyLeon
2018-08-07
老师好:
我想验证授权码模式,我的pom.xml为:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- oauth2 --> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> </dependency> </dependencies>
启动类为:
@SpringBootApplication @RestController public class SecurityApplication { private final Logger logger = LoggerFactory.getLogger(getClass()); public static void main(String[] args) { SpringApplication.run(SecurityApplication.class, args); } @GetMapping("/test") public String hello() { logger.info("in controller"); return "hello spring security"; } }
密码加密配置类为:
@Configuration public class SecurityConfig { @Bean public PasswordEncoder PasswordEncoder() { return new BCryptPasswordEncoder(); } }
UserdetailService类为
@Component public class MyUserdetailsService implements UserDetailsService { @Autowired private PasswordEncoder passwordEncoder; @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { // 根据username到数据库中查询用户信息 return new User(username, passwordEncoder.encode("123456"), true, true, true, true, AuthorityUtils.commaSeparatedStringToAuthorityList("admin,ROLE_USER")); } }
授权服务器为
@Configuration @EnableAuthorizationServer public class ServerConfig { }
资源服务器为:
@Configuration @EnableResourceServer public class ResourceConfig { }
然后我想验证授权码登录,请求的URL为:
结果跳出Basic登录的那个弹窗
但是奇怪的是,我可以验证 密码登录模式,并且可以使用它生成的token请求资源服务器的信息,请问老师这个是为什么?
写回答
2回答
-
什么为什么?为什么弹出Basic登录框?因为认证服务器没做任何个性化配置,默认就是Basic认证。
还是为什么可以用密码登录模式?因为你配了UserDetailsService。
30 -
豪学者
2018-08-31
你好,你是怎么解决了?
022018-09-03
Spring Security技术栈开发企业级认证与授权
Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全
2662 学习 · 1560 问题
相似问题