我是ASP.NET技术的新手
<configuration>
<system.web>
<authorization>
<allow roles="Agency,Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
我有一个文件夹的上述web.config,需要为代理商角色的某些用户提供一个提升的权限,以访问名为AddOrganisation.aspx的页面。 为了解决这个问题,我想我可以将以下标记添加到web.config中,但这将是静态的
<location path="AddOrganization.aspx">
<system.web>
<authorization>
<allow users="wale, etc, etc"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
如何以编程方式启用添加用户,而不是为每次更改更新web.config?
我将非常感谢您的回复。谢谢
答案 0 :(得分:1)
您不应在运行时更改Web配置,每次添加用户时都会重新启动应用程序。 MSDN说这个
配置更改导致重新启动应用程序域
间接导致Web.config文件中配置设置的更改 要重新启动的应用程序域。此行为是通过设计发生的。您 可以选择使用configSource属性来引用外部 进行更改时不会导致重新启动的配置文件。 有关更多信息,请参阅常规属性继承中的configSource 由Section Elements。
相反,您应该为这些用户提供不同的角色,以便只有那些用户才能访问 “AddOrganisation.aspx”页面。
否则,如果您不想为这些用户创建另一个角色,您还可以执行其他操作。您继续将这些用户添加到表中,每当向页面发出请求时,您都可以检查表中是否存在用户名,然后允许/拒绝用户。