簡體   English   中英

ASP.NET登錄控件未始終進行身份驗證

[英]ASP.NET Login Control not consistently authenticating

我最近從另一個需要繼承兩個數據庫的程序員那里繼承了一個ASP.NET項目。 合並它們並解決代碼中的問題后,我刪除了aspnet成員表,然后使用aspnet_regsql向導重新創建了它們。 我創建了幾個用戶和角色,並且在我的應用程序中使用標准的asp.net登錄控件能夠很好地登錄。 然后,我注銷並嘗試再次登錄,但沒有成功。

為了查明問題,我在事件LoggingIn,Authenticate和LoggedIn上設置了斷點,並以某種方式觸發了這些事件。 該頁面將進行驗證,但是如果您輸入正確的憑據,它似乎只會回發而不觸發任何登錄事件。

最終,我感到沮喪,然后繼續前進。 然后今天(第二天)我進來再次檢查,以某種方式它使我第一次登錄。 我嘗試注銷並重新登錄,但遇到了同樣的問題。 驗證,但無身份驗證。

這是我的登錄控件的代碼:

<asp:Login ID="Login1" runat="server" UserNameLabelText="Username:" PasswordLabelText="Password:" OnLoggedIn="Login1_LoggedIn"></asp:Login>

后面的Login1_LoggedIn代碼:

protected void Login1_LoggedIn(object sender, EventArgs e)
{
    if (Roles.IsUserInRole(Login1.UserName,"Administrator"))
        Response.Redirect("~/Admin/Default.aspx");
    else if (Roles.IsUserInRole(Login1.UserName,"Appointment Administrator"))
        Response.Redirect("~/ApptReq/Management/ManageEntities.aspx");
}

Web.config成員資格部分:

  <system.web>
<authentication mode="Forms">
  <forms loginUrl="Login.aspx" timeout="60" cookieless="UseCookies" name="Test" slidingExpiration="true" path="/"></forms>
</authentication>
<roleManager enabled="true">
  <providers>
    <clear />
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="test" applicationName="Test" />
  </providers>
</roleManager>
<membership defaultProvider="AspNetSqlMembershipProvider">
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="test" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="Test" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" />
  </providers>
</membership>

我快要弄清楚這個事情了,所以任何幫助將不勝感激。

好吧,我覺得很蠢。 事實證明,如果您單擊“登錄”按鈕,則登錄工作正常,但是每次進行測試時,我都只是按Enter鍵。 回車鍵事件是由我在頁面上尚未實現的搜索按鈕捕獲的,因此所有操作都已回發。

我只是將登錄控件包裝在面板中,並將DefaultButton設置為登錄按鈕的ID。 問題解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM