Java/401/未授权/GET方法



我正试图用Postman测试一个端点,但收到一个错误。我正在尝试测试一个搜索功能,该功能应该搜索保存在数据库中的所有酒店

  1. 路由:http://localhost:8080/hotels
  2. 在邮递员中收到错误(作为输出(:
{
"timestamp": "2022-08-17T04:43:07.249+00:00",
"status": 401,
"error": "Unauthorized",
"path": "/hotels"
}
  1. 我不得不提到,在poster中,我使用的是GET HTTP方法+授权:"无授权">
  2. 如果我在";基本认证;我收到以下消息:could not get a response
  3. 我的应用程序中的安全配置:
protected void configure(HttpSecurity security) throws Exception {
security
.csrf().disable() 
.cors().disable()
.authorizeRequests()
.antMatchers("/trip", "/hotels")
.hasAnyAuthority("ADMIN")
.and()
.httpBasic()
.and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}

为了帮助我,我可以发布代码中的其他部分,或者我可以在Github上上传项目并在这里放一个链接。

状态401表示您的凭据无效。您的代码在这里:

.antMatchers("/trip", "/hotels")
.hasAnyAuthority("ADMIN")

说你需要向拥有";ADMIN";角色然后,您的端点将处理请求并向您发送响应。否则,你总是会得到401。在poster中设置基本身份验证,并输入您的用户名和密码(具有ADMIN角色的用户(,然后它将工作

@pan leszeczek

  1. 我不认为是来自那个地方,下面你会发现我的代码中的另一部分。

    System.out.println("Inserting roles in database");
    

    Role userRole=新角色((;userRole.setName(RoleTypes.USER(;userRole.setDescription("此角色是为用户设计的"(;

    Role userRole1=新角色((;userRole1.setName(RoleTypes.USER(;userRole1.setDescription("重复角色"(;

    角色adminRole=新角色((;adminRole.setName(RoleTypes.ADMIN(;adminRole.setDescription("此角色可以添加酒店和旅行"(;

    User adminUser=新用户((;adminUser.setUsername("admin"(;adminUser.setPassword("admin"(;

    Role-adminRoleInDatbase=roleService.findByName(RoleTypes.ADMIN(;adminUser.setRole(adminRoleInDatbase(;

  2. "何时使用";张贴";方法,在poster中,使用user+pass-admin-admin进行基本身份验证,我可以在数据库中插入新的酒店,但当我尝试使用GET方法时A( 无身份验证-我收到401错误b( 来自邮递员的admin+admin消息的基本身份验证:无法获得响应

相关内容

  • 没有找到相关文章

最新更新