我正在尝试以编程方式从 web.config 添加和删除授权用户。我正在使用 Windows 身份验证。
这就是我在 web.config 上的内容
<location path="Admin">
<system.web>
<authorization>
<allow users="domain\user1, domain\user2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
现在在代码中我有以下代码。
protected void UpdateUsers()
{
System.Configuration.Configuration config = (Configuration)WebConfigurationManager.OpenWebConfiguration("~");
ConfigurationLocationCollection section = config.Locations;
foreach (ConfigurationLocation location in section)
{
if(location.Path == "Admin")
{
AuthorizationSection admin_section = (AuthorizationSection)config.GetSection("system.web/authorization");
AuthorizationRule thisAuth = new AuthorizationRule(AuthorizationRuleAction.Allow) ;
thisAuth.Users.Add("domain\\username");
admin_section.Rules.Add(thisAuth);
admin_section.CurrentConfiguration.Save();
}
}
}
上面的代码是在 system.web 而不是管理位置添加部分。