2013-07-04 45 views
1

我有一個ASP.net應用程序,我有一個頁面名爲foo.aspx其中放置了一些安全數據。授權一個單獨的aspx頁面登錄

我想丹尼訪問這個頁面沒有登錄的用戶,而這個登錄用戶名密碼必須由我web.config設置或其他地方。

但是我有一個問題,已經有一個管理面板這是由用戶名密碼我在web.config使用設置窗體身份驗證模式設置僅限於普通用戶 。

現在我怎麼能限制foo.aspx頁作爲身份驗證代碼不能重複,也希望單獨登錄頁面。

+0

要明確一點,您需要兩個不同的登錄系統,使用不同的登錄/密碼對?保護管理員面板和保護foo.aspx的人之一? – Trajan

+0

正是我想要這個 – Jaswinder

回答

0

在web.config中,您可以定義元素(在system.web關閉後),在其中爲應用程序的特定區域/頁面設置特定配置。

如:

<configuration> 
<system.web> 
.... 
</system.web> 
<location path="Foo.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 

在那裏,你可以設定一個比使用你的應用程序不同的授權模式。

通過上面的例子,您的頁面不會受到全局配置的標準授權模式的保護,但您可以選擇直接在頁面中以自定義的方式保護您的頁面。

0

在你foo.aspx頁面的頂部您有

if(login == false) 
     send them to login page; 

這將確保他們登錄他們甚至可以訪問foo的頁面之前。

+0

不是基於你問的問題來清除,但是如果你想要一個頁面只是爲了管理員,然後使用permision級別。 – Llama

0

達到此目的的最佳方法是擁有兩個不同的asp.net應用程序。您仍然可以配置您的IIS將您的Foo應用程序放在另一個文件夾/子域中。

但是,您可以嘗試開發自己的AuthenticationModule,它需要具有受Admin認證保護的URL列表以及受Foo認證保護的URL列表,每個URL都有其特定的登錄頁面和缺省值登錄密碼對或用戶表。下面是開發定製AUTHENT模塊教程:http://www.codeproject.com/Articles/5353/Custom-Authentication-provider-by-implementing-IHt

好運

0

您可以添加您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>