1

我有一个使用 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>
.
.
.

这篇文章 几乎回答了我的问题,但是有人可以帮助我解决我的特殊情况吗?还有一件事:修改 Web.config 不会重新启动应用程序吗?(即当我在CreatedUserCreateUserWizard 类的事件处理程序中的目录创建/授权代码中的代码运行时?)

感谢您的帮助!

4

1 回答 1

3

您可以在用户文件夹中放置一个新属性,而不是location在应用程序范围内使用该属性。web.config在这个新文件中,您为该特定文件夹指定授权规则,它们将覆盖应用程序范围的规则。

由于这不会更改您的原始web.config文件,因此您的应用程序不会重新启动。

于 2009-02-12T20:10:07.197 回答