我有一个使用CreateUserWizard注册新用户的ASP.NET应用程序。我的注册过程的一部分是为用户创建一个“主目录”,以便他们能够上传文件。
我想使用ASP.NET授权功能来限制对“主目录”的访问。只有分配给该目录的注册用户才能访问。
我想我知道如何使用Web.config明确地做到这一点。我可以做类似以下的事情:
<?xml version="1.0"?>
<configuration>
.
.
<location path="UserHomeDirectories">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<location path="UserHomeDirectories/MyUser">
<system.web>
<authorization>
<allow users="MyUser"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
.
.
.
This post 几乎回答了我的问题,但有人可以帮我解决我的具体情况吗?还有一件事:不修改Web.config重启应用程序? (即当我的CreateUserWizard类的CreatedUser
事件处理程序中的目录创建/授权代码中的代码运行时?)
感谢您的帮助!
答案 0 :(得分:3)
您可以在用户的文件夹中放置一个新属性,而不是在应用范围location
中使用web.config
属性。在此新文件中,您指定该特定文件夹的授权规则,它们将覆盖应用程序范围的规则。
由于这不会更改原始web.config
文件,因此您的应用程序将不会重新启动。