我有一個ASP.net
應用程序,我有一個頁面名爲foo.aspx其中放置了一些安全數據。授權一個單獨的aspx頁面登錄
我想丹尼訪問這個頁面沒有登錄的用戶,而這個登錄用戶名和密碼必須由我web.config
設置或其他地方。
但是我有一個問題,已經有一個管理面板這是由用戶名,密碼我在web.config
使用設置窗體身份驗證模式設置僅限於普通用戶 。
現在我怎麼能限制foo.aspx頁作爲身份驗證代碼不能重複,也希望單獨登錄頁面。
我有一個ASP.net
應用程序,我有一個頁面名爲foo.aspx其中放置了一些安全數據。授權一個單獨的aspx頁面登錄
我想丹尼訪問這個頁面沒有登錄的用戶,而這個登錄用戶名和密碼必須由我web.config
設置或其他地方。
但是我有一個問題,已經有一個管理面板這是由用戶名,密碼我在web.config
使用設置窗體身份驗證模式設置僅限於普通用戶 。
現在我怎麼能限制foo.aspx頁作爲身份驗證代碼不能重複,也希望單獨登錄頁面。
在web.config中,您可以定義元素(在system.web關閉後),在其中爲應用程序的特定區域/頁面設置特定配置。
如:
<configuration>
<system.web>
....
</system.web>
<location path="Foo.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
在那裏,你可以設定一個比使用你的應用程序不同的授權模式。
通過上面的例子,您的頁面不會受到全局配置的標準授權模式的保護,但您可以選擇直接在頁面中以自定義的方式保護您的頁面。
在你foo.aspx頁面的頂部您有
if(login == false)
send them to login page;
這將確保他們登錄他們甚至可以訪問foo的頁面之前。
不是基於你問的問題來清除,但是如果你想要一個頁面只是爲了管理員,然後使用permision級別。 – Llama
達到此目的的最佳方法是擁有兩個不同的asp.net應用程序。您仍然可以配置您的IIS將您的Foo應用程序放在另一個文件夾/子域中。
但是,您可以嘗試開發自己的AuthenticationModule,它需要具有受Admin認證保護的URL列表以及受Foo認證保護的URL列表,每個URL都有其特定的登錄頁面和缺省值登錄密碼對或用戶表。下面是開發定製AUTHENT模塊教程:http://www.codeproject.com/Articles/5353/Custom-Authentication-provider-by-implementing-IHt
好運
您可以添加您foo.aspx
頁面到一個文件夾,你可以通過添加一個新的web.config
文件
例如保護該文件夾,
Folder
-foo.aspx
-web.config
在新
web.config
文件
<?xml version="1.0" encoding="utf-8"?><configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
要明確一點,您需要兩個不同的登錄系統,使用不同的登錄/密碼對?保護管理員面板和保護foo.aspx的人之一? – Trajan
正是我想要這個 – Jaswinder