基于“位置”的授权

时间:2012-11-01 17:50:51

标签: c# vb.net path web-config authorization

我在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 个答案:

答案 0 :(得分:1)

我会将一个公共属性添加到名为&#34; Mode&#34;的用户控件中。 OR&#34; ContextUrl&#34;或者那种效果。然后从该属性分支逻辑。你还应该有一个&#39;默认&#39;一套逻辑。

最终,拥有这种由公共财产决定的行为对于“开发者”而言更为直观和可测试。谁与您的用户控件进行交互,而不是隐藏在控件实现中的内容。