2008-08-24 142 views
0

我正在使用純HTML和CSS構建的網站上工作,我需要一種方法來限制對網站內特定目錄內的頁面的訪問。我提出的解決方案當然是ASP.NET Forms Authorization。我創建了默認的Visual Studio登錄表單,並使用Visual Studio的嚮導設置了用戶,角色和訪問限制。問題是,我無法使用我設置的憑據登錄網站。ASP.NET窗體授權

我使用的是IIS 7

+0

登錄失敗的方式是什麼?你有拋出異常(死亡的黃色屏幕)還是其他? – 2008-08-24 22:35:32

回答

0

在什麼時候你插入你的登錄/密碼?你看過創建的桌子嗎?雖然您的密碼必須加密,但也許值得檢查您的用戶是否真正創建。

0

您在什麼時候插入了您的登錄名/密碼?你看過創建的桌子嗎?雖然您的密碼必須加密,但也許值得檢查您的用戶是否真正創建。

表單身份驗證不需要任何形式的用戶數據庫。

Steve,您可以粘貼您的表單身份驗證web.config部分,以及您正在使用的ASP.NET登錄控件的任何相關代碼。

沒有足夠的信息尚未這裏排解:)

0

的web.config部分,是相當無用的,據我可以告訴:

<authentication mode="Forms" /> 

我看着在IIS 7中,並在身份驗證部分說:匿名身份驗證=啓用,ASP.NET模擬=禁用,基本身份驗證=禁用,窗體身份驗證=禁用。

另外,除了將Login對象拖放到設計器上並將其指向的頁面更改爲index.html之外,我沒有更改代碼。

當前,通過顯示失敗文本中的日誌來登錄失敗。

編輯:之前當我嘗試直接導航到受限制的頁面時,我會收到一個藍色頁面,表示我的權限不足。現在,即使我拒絕匿名訪問,我仍可以看到沒有登錄的受限制頁面。

2

我猜(因爲我沒有IIS7方便的ATM),你需要關閉Anonomyous身份驗證,並啓用IIS7部分中的窗體身份驗證。

0

Steve,

我不認爲這個問題與您的IIS設置有關。由於表單身份驗證不依賴於IIS身份驗證,因此如果您打算在ASP.NET應用程序中使用表單身份驗證,則應在IIS中爲您的應用程序配置匿名訪問。

在你的web.config試試這個:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.web> 
    <authentication mode="Forms" > 
     <forms loginUrl="~/login.aspx" defaultUrl="~/"> 
     <credentials passwordFormat="Clear"> 
      <user name="YourUsername" password="superSecret" /> 
     </credentials> 
     </forms> 
    </authentication> 
    <authorization> 
     <deny users="?"/> 
    </authorization> 
    <system.web> 
</configuration> 

有實現比硬編碼用戶名和密碼進入你的web.config窗體身份驗證更好的方法,但這應該讓你開始工作。