使用Web.config文件中的数据库中的列表字符串或值

时间:2015-01-14 01:37:37

标签: c# asp.net

我使用C#在ASP.NET中有一个Web窗体站点。我有一个我想修改的文件夹,所以只有某些用户可以访问它。我已经通过文件夹的web.config文件完成了这个:

<authorization>
 <allow users="User1, User2, User3" />
 <deny users="*" />
</authorization>

但我有一个字符串列表,其中包含需要放入'allow users'属性的所有用户。字符串列表由数据库中的表填充。所以我想使用字符串列表或数据库,而不是手动编写'allow users'属性中的所有用户。我该怎么做呢?即使使用AppSettings,仍然不知道如何实际操作。

2 个答案:

答案 0 :(得分:1)

我建议您不要使用用户而是使用角色。您可以将角色添加到允许列表,并在使用RoleProvider登录时为与数据库匹配的所有用户提供所需的角色。

以下链接指向如何实现此http://www.codeproject.com/Articles/607392/Custom-Role-Providers的完整文章。它是一个MVC示例,但如果您正在使用它,也可以适用于Web表单。它还显示了基于角色的关闭和打开元素。

答案 1 :(得分:0)

所以我发现了这个问题:

Is it possible to reference a value from an SQL database in a web.config file?

我发现你实际上不能。这很奇怪,因为我遇到过AppSettings可以提供的一些信息,但还可以。我在没有web.config文件的情况下管理了这个,如果他们不在字符串列表中,我只是将用户重定向到主页。