【发布时间】:2012-11-13 16:28:14
【问题描述】:
我正在尝试限制对目录中文件的访问,并且它是基于子目录的用户权限。我的用户权限以自定义格式存储在 MS SQL 数据库中,但是很容易查询对该目录具有权限的用户列表。
我需要知道如何将其应用于服务器上的 Web 配置,以针对数据库表的查询进行身份验证,以确定用户名是否经过身份验证并允许查看文件。当然,如果不是,他们应该被阻止/给出 404。
我正在使用具有基于表单的安全性的 IIS 和 ASP.Net MVC3,而不是为我们定制的内置角色和职责,并且效果很好。有超过 10,000 个用户与此非 Active Directory 身份验证相关联,因此我不打算更改我的身份验证类型,因此请不要去那里。
选择平台不是我的决定,否则我会使用 LAMP 服务器并完成此操作。
编辑 11-13-2012 @ 8:57a: 可以在 web config 中放置 SQL 查询的结果吗?
【问题讨论】:
-
我知道这一点,但我不确定如何使用 SQL 查询的结果来做类似的事情(或者即使这是正确的方法):
-
使目录和文件不能直接从外部访问。接下来,创建一个控制器和操作来处理文件请求。从这里,让您的控制器/操作获取并返回文件,而不是允许直接链接到文件。此时,您可以强制执行来自控制器或操作的授权。
标签: asp.net-mvc iis web-config forms-authentication