我使用 web.config 中的以下代码对我的 asp.net 网站实施了访问限制
<authentication mode="Windows">
</authentication>
<authorization>
<allow users="na\user1, phil\user2, so on" />
<deny users="*"/>
</authorization>
我应该为少数管理员用户提供一个界面(网页或模式弹出窗口),他们可以在其中查看当前用户、删除用户或添加用户以访问该站点。现在我想知道
1)如何以编程方式查找当前用户,即用户属性的值。
我通过使用来自asp.net 的以下代码解决了它如何在我的代码中引用在 web.config 中硬编码的授权用户
AuthorizationSection configSection =
(AuthorizationSection)ConfigurationManager.GetSection("system.web/authorization");
var users = new List<string>();
var rules = configSection.Rules;
foreach (AuthorizationRule rule in rules)
{
if (rule.Action == AuthorizationRuleAction.Allow)
{
foreach (string user in rule.Users)
{
if (!users.Contains(user))
{
users.Add(user);
}
}
}
//rule.Users.Add("phil\user3");
//rule.Users.Remove("phil\\user2");
}
2) 如何在站点运行时通过删除或添加用户来更新 web.config?
我尝试使用上述代码中的注释行添加和删除用户,但这不起作用。
我在该代码中哪里错了?正如我所说,我需要在 web.config 中动态添加或删除用户,以便任何人都可以提供一些代码。提前致谢!