2011-08-14 41 views
1

我正在使用ASP.Net表单身份验证来确保名为“pro”的目录的安全。这一切工作正常,但我们想要做的是排除目录中的根页面 - 基本上这是一个销售页面,详细说明注册的好处。从Forms身份验证中排除目录的根目录

所以,我的问题是,是否有可能保护一个目录,但排除该目录内的特定页面?

另一种选择,这似乎很容易,但在文件系统方面不是特别整洁是组织我的目录,如:

/pro/ 
/pro/default.aspx 
/pro/ (secure anything within this folder) 
/pro/loggedin/page1.aspx 
/pro/loggedin/page2.aspx 

任何帮助极大的赞赏。 感谢

回答

1

如果你想允许特定的页面,那么它就会像..

<location path="PageName.aspx"> 
<system.web> 
    <authorization> 
     <allow users="*"/>    
    </authorization> 
</system.web> 
</location> 
+0

嗨穆罕默德 - 是的,但如果这个页面在我已经安全保护的目录内,则不会... ... – higgsy

+0

您可以将要保护的页面放在其他文件夹中,并将其他页面放入我的其他目录。 –

+0

好吧 - 我希望位置路径将支持某种类型的正则表达式来排除文件,但如果不是,那么您的答案将解决问题。 – higgsy

1

要保护的文件夹,请尝试以下操作:

<location path="/pro"> 
    <system.web> 
     <authorization> 
      <deny users="?" /> 
     </authorization> 
    </system.web> 
</location> 
+0

您不能使用具有路径属性的目录。相反,您只需在要更改设置的文件夹内使用web.config覆盖该设置即可。 – BradLaney