当前位置: 首页 > 知识库问答 >
问题:

Spring Boot HttpSecurity始终403禁止

松骏俊
2023-03-14

我总是得到http状态403。我有以下安全配置:

@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
    httpSecurity
        .cors().and().csrf().disable()
        .authorizeRequests()
        .antMatchers("/api/users/login/").permitAll()
        .anyRequest().authenticated();
}


@Bean
CorsConfigurationSource corsConfigurationSource() {
    CorsConfiguration configuration = new CorsConfiguration();
    configuration.setAllowedOrigins(Arrays.asList("*"));
    configuration.setAllowedMethods(Arrays.asList("*"));
    configuration.setAllowedHeaders(Arrays.asList("*"));
    configuration.setAllowCredentials(true);
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    source.registerCorsConfiguration("/**", configuration);
    return source;
}

我无法发布到/api/users/login

2019-10-15 12:25:49.567[0;39m[32mdebug[0;39m[35m7423[0;39m[2m---[0;39m[2m[nio-8080-exec-1][0;39m[36mo.s.web.servlet.dispatcherservlet[0;39m:[2m:[0;39m“error”POST“/错误”的调度,参数={}[2m2019-10-15 12:25:49.576[0;39m[32mdebug[0;39m[35m7423[0;39m[2m---[0;39m[2m[2m[nio-8080-exec]-1][0;39M[36ms.w.s.m.a.RequestMappingHandlerMapping[0;39M[2M:[0;39M映射到公共org.springframework.http.responseEntity>org.springframework.boot.autocigure.web.servlet.error.basicerrorcontroller.error(javax.servlet.http.httpservletrequest)[2M2019-10-15 12:25:49.605[0;39M[32Mdebug[0;39M[35M7423[0;39M[2M---[0;39M[2M[2M[2M][0;M.M.A.HttpEntityMethodProcessor[0;39M[2M:[0;39M,使用“application/json”,给定[/]并支持[application/json,application/json,application/json,application/+json“[2M2019-10-15 12:25:49.608[0;39M[32Mdebug[0;39M[35M7423[0;39M[2M---[0;[2M:[0;39M正在写入[{TimeStamp=TUE Oct 15 12:25:49 CEST 2019,status=403,Error=禁止,Message=拒绝访问,Path=/(截断)...][2M2019-10-15 12:25:49.661[0;39M[32MDEBUG[0;39M[35M7423[0;39M[2M---[0;39M[2M[2M[nio-8080-exec-1][0;39M[2M[36MO.S.web.servlet.DispatcherServlet[0;39M[2M:[0;39M][36M.S.web.Servlet.DispatcherServlet[0;39M[2M:[0;39M]退出“错误”调度,状态403

共有1个答案

吕淮晨
2023-03-14

尝试.antmatchers(httpmethod.post,“/api/users/login”).PermitAll(),还请注意您有.antmatchers(“/api/users/login/”),并且您正在请求/api/users/login在您的antmatchers中添加注释。

您还可以使用configure(WebSecurity web),它将绕过这里描述的Spring Security筛选器链

 类似资料:
  • 我的安全配置似乎不正确。无论我在使用hasRole时做什么,我的endpoint总是返回403。 此外,除非我在这两个和。很明显,我遗漏了一些东西。 基本上,我希望所有内容都需要身份验证,但只有当用户是某些组的成员时(现在只需要admin),少数endpoint才可以访问。 我的安全配置如下。旁边的一切都有效。 我的AuthenticationConfiguration如下 我的Authoriza

  • 我已经配置了一个自定义过滤器,它为除登录之外的每个URL授予spring权限: 和一个spring配置,该配置使用该权限保护所有请求(但不包括登录): 但是,除了登录之外,每个请求都会得到HTTP 403禁止。 我已经调试并确保过滤器中的代码确实被触发。 有什么问题吗? 编辑-当将Spring Security日志放入调试时,我得到以下堆栈跟踪:

  • 我试图根据角色限制对endpoint的访问。我在stackoverflow上搜索了一个解决方案,尝试了一些,但没有成功地解决我的问题。我尝试在全局配置(WebSecurityConfig)和预授权注释中进行限制,调用时都返回403。我的测试用户拥有SYS_ADMIN角色,我已经验证了这个流,它实际上拥有这个角色。以下是我的消息来源。 全球网络安全配置 人员控制员 榜样

  • 我正在使用Auth0来获得一些在我的后端API服务器中工作的身份验证和授权。Auth0使用角色权限系统,它与此处描述的策略概念兼容-https://learn.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-3.1 在用户方面,我没有问题,收集令牌。当我研究令牌时,我注意到必要的范围正在

  • 问题内容: 我正在尝试使用ng-disabled有条件地启用/禁用“保存”按钮: 我有一个$ scope.data.modified变量,当我的数据被修改后该变量变为true。无论是对还是错,都将启用“保存”按钮。元素检查显示,禁用ng的值按预期在“ true”和“ false”之间切换,但该按钮始终处于启用状态。 问题答案: 当您使用角度js属性(例如ng-show,ng-hide,ng-dis

  • 问题内容: 我有一个合作伙伴,已经为我创造了一些内容供您抓取。 我可以使用浏览器访问该页面,但是当尝试使用user时,会显示。 我尝试使用,但这无济于事-可能是因为我不知道该去哪里。 1)我有什么办法可以刮取数据? 2)如果否,并且不允许合作伙伴将服务器配置为允许我访问,该怎么办? 我尝试使用的代码: 问题答案: 这不是您脚本中的问题,而是合作伙伴Web服务器安全性中的一项功能。 很难确切地说出是