2012-11-01 73 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