alex Asked:2022-03-01 21:38:49 +0800 CST2022-03-01 21:38:49 +0800 CST 2022-03-01 21:38:49 +0800 CST 邮递员授权 772 Spring-Boot 上的 Web 应用程序。从 Postman 发送 POST 请求。一切正常,直到我连接弹簧安全。现在我得到 401 Unauthorized 对 Postman 的添加授权:在 Authorization 选项卡上,选择 Basic Auth,输入登录名和密码。而且我仍然得到 401 Unauthorized。怎么了?也许在 Spring 设置中你需要注册一些东西?如果我通过授权传输的浏览器打开。 java 2 个回答 Voted user427921 2022-03-01T22:11:16+08:002022-03-01T22:11:16+08:00 最后,我能够使用Postman Interceptor Chrome 扩展程序让 Postman 了解身份验证。 如果启用了扩展程序(通过单击 Postman 应用程序中的卫星图标),您只需使用 Web 登录表单登录,然后您就可以开始使用需要在 Postman 中进行身份验证的服务。 Best Answer alex 2022-03-02T02:27:29+08:002022-03-02T02:27:29+08:00 使用上述方法,我没有成功登录。这是对我有用的解决方案,您需要创建这样一个类: @Configuration public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { // Create 2 users for demo @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("user").password("{noop}password").roles("USER") .and() .withUser("admin").password("{noop}password").roles("USER", "ADMIN"); } // Secure the endpoins with HTTP Basic authentication @Override protected void configure(HttpSecurity http) throws Exception { http //HTTP Basic authentication .httpBasic() .and() .authorizeRequests() .antMatchers(HttpMethod.GET, "/books/**").hasRole("USER") .antMatchers(HttpMethod.POST, "/books").hasRole("ADMIN") .antMatchers(HttpMethod.PUT, "/books/**").hasRole("ADMIN") .antMatchers(HttpMethod.PATCH, "/books/**").hasRole("ADMIN") .antMatchers(HttpMethod.DELETE, "/books/**").hasRole("ADMIN") .and() .csrf().disable() .formLogin().disable(); } } 在此资源上找到此代码: Spring 安全示例 我们添加这个类,将所有请求和路径更改为我们自己的。接下来,在 Authorization 选项卡上,我选择 Basic Auth,输入我的登录名和密码,一切正常。
最后,我能够使用Postman Interceptor Chrome 扩展程序让 Postman 了解身份验证。
如果启用了扩展程序(通过单击 Postman 应用程序中的卫星图标),您只需使用 Web 登录表单登录,然后您就可以开始使用需要在 Postman 中进行身份验证的服务。
使用上述方法,我没有成功登录。这是对我有用的解决方案,您需要创建这样一个类:
在此资源上找到此代码: Spring 安全示例
我们添加这个类,将所有请求和路径更改为我们自己的。接下来,在 Authorization 选项卡上,我选择 Basic Auth,输入我的登录名和密码,一切正常。