0
我使用AD身份驗證將Intranet站點的身份驗證方法從Windows更改爲Forms。它適用於從VS 2008啓動它時,直接進入yo login.aspx頁面並在登錄後進入default.aspx。 當我使用URL時,它會直接嘗試轉到default.aspx,並表示您無權查看此頁面,而不是訪問login.aspx頁面。不知道我在這裏錯過了什麼。在IIS中,我啓用了匿名訪問並檢查了其他所有內容。在web.config中我有以下幾點:Forms Authentication,.Net 3.5 + IIS 6
<authentication mode="Forms">
<forms name=".ADAuthCookie" loginUrl="Account/Login.aspx" defaultUrl="Default.aspx" timeout="5" />
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
<membership defaultProvider="CMSOracleMembershipProvider">
<providers>
<add name="CMSOracleMembershipProvider"
type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
connectionStringName="CMSConnectionString"
applicationName="/"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="4"
minRequiredPasswordLength="9"
passwordAttemptWindow="8"/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="CMSOracleRoleProvider">
<providers>
<add name="CMSOracleRoleProvider"
type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
connectionStringName="CMSConnectionString"
applicationName="/"/>
</providers>
</roleManager>
我沒有一個asp登錄控制,但一對夫婦爲文本框的ID和密碼,我使用AD處理驗證。
我讚賞你的幫助。
謝謝克里斯。我在該文件夾中有一個web.config,其中包含allow =「*」。爲了安全起見,我在根web.config中添加了以允許所有人訪問該文件夾。該鏈接實際上正是我遵循的用窗體實現AD身份驗證的關鍵。 –
NoBullMan
2012-02-16 04:19:13
我想出了問題所在:我使用的匿名用戶,誰應該是訪問AD的用戶,輸入的ID不正確;我在用戶標識前丟失了域名。但是,我現在有另一個問題:我標記一個頁面;關閉瀏覽器,打開一個新的瀏覽器並選擇加書籤的頁面;它正確地進入登錄頁面,返回的URL設置正確;但是當我輸入用戶ID和密碼時,它將清除它們,擺脫地址欄中的返回網址,並且位於login.aspx,並期望用戶ID和密碼。在我再次提供它們之後,轉到default.aspx。 – NoBullMan 2012-02-16 05:27:53
@NoBullMan:您可能想要提出一個新的問題。聽起來像登錄控制的配置問題。 – NotMe 2012-02-16 14:52:03