gpt4 book ai didi

c# - ASP.NET MVC 中基于文档的安全性

转载 作者:太空狗 更新时间:2023-10-29 23:42:39 26 4
gpt4 key购买 nike

我已经了解 ASP.NET MVC 中基于用户和角色的安全性。但现在我需要更精细的东西。

假设我有一个文件列表,其中一些用户被授权,一些没有。每个文档在数据库的文档表中都有对应的记录。如果用户具有安全访问权限,则可以下载文档以供查看。如果您有角色,也可以添加文档。每个文档都有一个 URL,每个文档列表都有一个 URL。

我想对列表进行安全修整,以便用户只能看到他获得授权的那些文档。但我还需要对这些列表和文档的 URL 请求进行身份验证,因为没有什么可以阻止用户将他们不再有权访问的文档添加为书签,或者只是将 URL 输入浏览器。

内置的基于角色的安全模型是否适用于此,或者我是否需要创建单独的、基于表的安全性?我可以将安全性放在我的存储库中,以便返回的记录已经被修剪,还是应该成为 Controller 的一部分?我是否需要安全属性来验证 Controller 请求,还是应该将其作为前几行代码放在 Controller 方法中?

最佳答案

@Robert,当您说您应该(在)它们到达 View 之前修剪它们时,我认为您已经回答了您自己的问题。因此,在您的业务逻辑中,作为对存储库的偏好,您可能想要执行一个 lamda 来削减多余的部分。

我认为我永远不会将任何记录返回到不允许用户查看的 View 。为什么要增加风险和流量?

至于书签,我认为您需要执行一些业务逻辑以防止它们在访问权限不再存在时转到 url。

我认为 Controller 只是在那里为页面提供数据服务,并没有任何逻辑,所以我更喜欢这个方法的业务层方法,因为它看起来确实是一个业务规则。

这可能不是您想要的,但除非有更好的方法,否则我会使用它。

关于c# - ASP.NET MVC 中基于文档的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com