根据条件限制/锁定所有 Post/Delete Rest API 端点 [关闭]

Posted

技术标签:

【中文标题】根据条件限制/锁定所有 Post/Delete Rest API 端点 [关闭]【英文标题】:Restriction/lock down all Post/Delete Rest API end points based on the condition [closed] 【发布时间】:2020-02-02 00:16:00 【问题描述】:

我正在寻找选项以根据情况保护我的休息终点。在我们当前的应用程序中,所有用户都被分配了各种任务。用户可以对任务执行不同的操作,例如创建新笔记、更新笔记、删除笔记、更新任务信息等。用户应仅限于分配给他/她的任务,应用程序中剩余的其余任务应为只读。不允许用户对未分配给他的任务执行任何更新。

是否有任何通用注释方法来检查状态并锁定所有休息帖端点。

【问题讨论】:

【参考方案1】:

WebSecurityConfigurerAdapter 的扩展配置类可以选择使用 HTTP 基本身份验证来保护 REST 端点

        http
                //HTTP Basic authentication
                .httpBasic()
                .and()
                .authorizeRequests()
                .antMatchers(HttpMethod.GET, "/notes/**").hasRole("USER")
                .antMatchers(HttpMethod.POST, "/notes").hasRole("AUTHOR")
                .antMatchers(HttpMethod.PUT, "/notes/**").hasRole("AUTHOR")
                .antMatchers(HttpMethod.PATCH, "/notes/**").hasRole("AUTHOR")
                .antMatchers(HttpMethod.DELETE, "/notes/**").hasRole("AUTHOR")
                .and()
                .csrf().disable()
                .formLogin().disable();
    

【讨论】:

以上是关于根据条件限制/锁定所有 Post/Delete Rest API 端点 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

php如何发起POST DELETE GET POST 请求

如何根据特定条件锁定代码块?

Spring 框架:返回所有 METHODS 的 HTTP OPTIONS(get、put、post、delete、trace、head、options)

按照惯例应该返回哪些 REST PUT/POST/DELETE 调用?

根据条件替换R数据帧中的值[重复]

如何根据条件选择R数据框中的连续行?