根据条件限制/锁定所有 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)