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

如何为缺少的资源建模权限?

袁河
2023-03-14

我有以下REST资源:

  • /company返回公司列表
  • /companies/{id}返回公司状态
  • /companies/{id}/departments返回公司中的所有部门
  • /employee/{id}/departments返回员工工作的部门
  • /departments/{id}返回部门状态

/companies资源具有关联的query权限令牌。当客户端引用不存在的公司/companies/{id}时,我检查他们是否有权访问query。如果是,则返回HTTP 404(“not found”),否则返回HTTP 403(“biabled”)

到目前为止还不错。当客户端引用不存在的/departments/{id}资源时,就会出现问题。因为部门不存在,所以我无法弄清楚它与什么公司和query权限令牌关联。

看来我们又回到了传统的可用性/安全性权衡:

  • 通过假设每个人都有权知道资源是否存在来提高可用性(返回明确的错误消息,指出出了什么问题),或者
  • 如果缺少资源或权限被拒绝,则返回vague错误代码以提高安全性(返回vague错误消息以隐藏是否存在资源或是否定义了权限)。

还有别的办法吗?

共有1个答案

越昊穹
2023-03-14

我最终删除了query权限。任何人都可以查找任何资源,如果他们知道它的地址。意思是,我不会试图阻止未经授权的用户发现一个资源是否存在。

 类似资料:
  • 我最近开始在我所有的项目中遇到这个问题。当我的索引页加载其中包含对jQuery源文件的引用时,我的控制台记录这个错误:。 这完全不影响我的应用程序,但是每当我打开控制台时,看到它真的很烦人。有人知道这是从哪里来的吗? 编辑:注意,我没有显式引用.map文件,我只是指向

  • 我有一个SpringMVC 4。在应用程序上下文XML文件中定义了多个静态资源的x应用程序,如下所示: 这些文件分别存储在“/webapp/static/”目录和“/resources/static/”目录中(请参见映射,分别为和。在“js”和“css”子目录中有一些文件可以访问,但我最近添加的文件在尝试通过Netbeans控制的本地Tomcat服务器访问时返回404个错误。 我尝试了对sprin

  • 问题内容: 我正在开发一个Spring Boot应用程序。我需要在开始时解析XML文件(countries.xml)。问题是我不知道将其放在哪里才能访问它。我的文件夹结构是 我的第一个想法是将其放在src / main / resources中,但是当我尝试创建File(countries.xml)时,我得到了NPE,并且stacktrace显示我的文件在ProjectDirectory中查找(因

  • 我使用的是最新的Spring Batch Admin(1.3.0.Release),并且在我的WAR工件pom文件中包含了'admin-manager'和'admin-resources'。 我的问题是css和图像资源从来没有正确的链接,所以我的管理主页看起来像这样。关于如何配置上下文以正确地包括这些资源,有什么建议吗?

  • 云功能部署失败:缺少资源项目/ourcafe-mucqxq上service-1044193269753@gcf-admin-robot.iam.gserviceAccount.com的必需权限resourceanager.projects.getiampolicy。请授予service-1044193269753@gcf-admin-robot.iam.gserviceAccount.com云功能

  • 我正在使用Tomcat7开发一个java web应用程序。在调试模式下运行tomcat,我没有“更新”菜单上的“更新资源”和“更新类和资源”选项。只有“热交换类”、“重新部署”和“重启服务器”。拜托,你能帮忙找到他们吗?提前多谢!这会节省我很多时间。