2011-07-19 80 views
0

在我的應用程序中有不同的用戶角色,如管理員,用戶,超級用戶。我在我的應用程序中使用ASP .net成員資格提供程序。在我的machine.config文件中,maxInvalidPasswordAttempts設置爲5,這是所有用戶的默認設置。我的問題是,即使是管理員用戶,最大無效密碼嘗試次數也是5.我需要僅更改管理員用戶的最大無效密碼嘗試次數。請幫忙。如何爲特定用戶角色設置maxInvalidPasswordAttempts

回答

3

我不認爲這是可能的默認提供商。據我所知,因爲MaxInvalidPasswordAttempts甚至沒有保存在數據庫中。您可能需要考慮編寫實現此附加層的派生成員資格提供程序。

public class myMembershipProvider : System.Web.Security.SqlMembershipProvider 
{ 

public override int MaxInvalidPasswordAttempts 
{ 
    get 
    { 
     //Check to the role of the user....and pass back the attempts allowed for them 

     if (HttpContext.Current.User.IsInRole(Admin)) 
     { 
      return 9999; whatever... 
     } 
     return base.MaxInvalidPasswordAttempts; 
    } 
} 
} 
+0

@Giko,看我的更新回答 –

+0

我在我的應用程序中使用.net登錄控件。請指定我如何使用這種方法。 –

+0

@ user.net你應該可以創建這個類,然後在web.config中將它定義爲你的MembershipProvider。使用新的自定義成員資格提供程序的標準名稱替換'type =「System.Web.Security.SqlMembershipProvider」'。 –

相關問題