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

弹性公文安全授权请求网址

欧阳玺
2023-03-14

有什么方法可以使用< code > org . spring framework . security . config . annotation . web . builders . http security 授权post请求到特定的url?

我使用HttpSecurity作为:

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .addFilterAfter(new CsrfCookieGeneratorFilter(), CsrfFilter.class)
            .exceptionHandling()
            .authenticationEntryPoint(authenticationEntryPoint)
        .and()
            .rememberMe()
            .rememberMeServices(rememberMeServices)
            .key(env.getProperty("jhipster.security.rememberme.key"))
        .and()
            .formLogin()
            .loginProcessingUrl("/api/authentication")
            .successHandler(ajaxAuthenticationSuccessHandler)
            .failureHandler(ajaxAuthenticationFailureHandler)
            .usernameParameter("j_username")
            .passwordParameter("j_password")
            .permitAll()
        .and()
            .logout()
            .logoutUrl("/api/logout")
            .logoutSuccessHandler(ajaxLogoutSuccessHandler)
            .deleteCookies("JSESSIONID")
            .permitAll()
        .and()
            .headers()
            .frameOptions()
            .disable()
            .authorizeRequests()
                .antMatchers("/api/register").permitAll()
                .antMatchers("/api/activate").permitAll()
                .antMatchers("/api/authenticate").permitAll()
                .antMatchers("/api/logs/**").hasAuthority(AuthoritiesConstants.ADMIN)
                .antMatchers("/api/subscriptions").permitAll()
                .antMatchers("/api/**").authenticated();
}

我想允许POST请求发送到/api/subscription路径。仅POST。谢谢

共有3个答案

田兴朝
2023-03-14

只需像这样提及您需要删除身份验证的路径

    http
       .httpBasic().and()
       .authorizeRequests()
       .antMatchers("/employees" , "/employees/**")
       .permitAll().anyRequest().authenticated()
       .and().csrf().disable()
张可人
2023-03-14

我知道这个问题有点老了,但我不认为禁用csrf支持是一个可以接受的答案。我有同样的问题,但感觉不太好,能够使用csrf.disable()。相反,我在页面底部的表单标记内添加了以下行。

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
高朝明
2023-03-14

看看这里https://github.com/spring-projects/spring-data-examples/tree/master/rest/security其中有

http
  .httpBasic().and()
  .authorizeRequests()
    .antMatchers(HttpMethod.POST, "/employees").hasRole("ADMIN")
    .antMatchers(HttpMethod.PUT, "/employees/**").hasRole("ADMIN")
    .antMatchers(HttpMethod.PATCH, "/employees/**").hasRole("ADMIN");
 类似资料:
  • 客户端通过按附录B使用“application/x-www-form-urlencoded”格式向授权端点URI的查询部分添加下列参数构造请求URI: response_type 必需的。值必须设置为“token”。 client_id 必需的。如2.2节所述的客户端标识。 redirect_uri 可选的。如3.1.2节所述。 scope 可选的。如3.3节所述的访问请求的范围。 state 推

  • 客户端通过按附录B使用“application/x-www-form-urlencoded”格式向授权端点URI的查询部分添加下列参数构造请求URI: response_type 必需的。值必须被设置为“code”。 client_id 必需的。如2.2节所述的客户端标识。 redirect_uri 可选的。如3.1.2节所述。 scope 可选的。如3.3节所述的访问请求的范围。 state 推

  • 弹性公网IP(Elastic IP)是一种NAT IP,通过与虚拟机绑定,将弹性公网IP与虚拟机的私有地址进行NAT映射,实现虚拟机与公网之间的通信。 弹性公网IP(Elastic IP)是一种NAT IP,通过与虚拟机绑定,将弹性公网IP与虚拟机的私有地址进行NAT映射,实现虚拟机与公网之间的通信。一个弹性公网IP只能绑定一个虚拟机。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击

  • 弹性公网IP(Elastic IP)是一种NAT IP,通过与虚拟机绑定,将弹性公网IP与虚拟机的私有地址进行NAT映射,实现虚拟机与公网之间的通信。 弹性公网IP(Elastic IP)是一种NAT IP,通过与虚拟机绑定,将弹性公网IP与虚拟机的私有地址进行NAT映射,实现虚拟机与公网之间的通信。一个弹性公网IP只能绑定一个虚拟机。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击

  • 本文向大家介绍DBMS中的安全性,完整性和授权,包括了DBMS中的安全性,完整性和授权的使用技巧和注意事项,需要的朋友参考一下 数据库安全性数据库安全性具有许多不同的层,但是关键方面是: 认证方式 用户身份验证是为了确保访问数据库的人是他声称的身份。身份验证可以在操作系统级别甚至数据库级别本身进行。许多身份验证系统(例如视网膜扫描仪或生物识别技术)用于确保未经授权的人员无法访问数据库。 授权书 授

  • 我正在使用Cognito,API Gateway和Authorers。授权方配置为缓存 5 分钟以提高性能。我觉得这是一个不错的功能。 我知道授权者是将身份验证逻辑保存在一个地方的好方法,并且应用程序可以假设用户已经获得授权。然而,我对此表示怀疑。 pentest报告建议,一旦注销,令牌就不能使用。这意味着为了安全起见,我不应该启用授权缓存?这也意味着所有经过身份验证的API都将有一个lambda