2012-11-01 72 views
1

我有IIS 6运行的VS 2008 web应用程序在web.config诡计有这样一个部分:“所在地”基于授权

<location path="public"> 
    <system.web> 
     <authorization> 
      <allow users="?"/> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 

我有其上大量使用的用户控制在各个位置提供内容的页面。我希望该控件根据所在页面的位置来过滤内容。例如,如果控件位于上面示例中指定的“public”文件夹中的aspx页面上,我希望某些信息不会显示。

如何在我的代码隐藏中完成此操作?也可能是这个web.Config设置完全不相关,对于这个问题,你决定。 VB或C#都很好,我可以翻译。

也许像这样? If path.Contains("public") Then filterResults()

谢谢! :)

回答

1

我会将一个公共属性添加到称为“模式”或“ContextUrl”的用户控件或类似的东西。然后关闭该属性的逻辑。你也应该有一套'默认'的逻辑。

最终,通过公共属性决定这种行为对于与您的用户控件进行交互的“开发者”来说更直观和可测试,而不是隐藏在控件实现中的某些东西。

+0

我正在拍摄更自动化的方法来消除人为错误的机会,但我只是将默认设置设置为最低权限,并且需要设计人员在必要时指定更高的权限。我认为它适用于我的目的。谢谢。 :) – Chiramisu