我在ASP.NET MVC應用程序中實現了Membership Provider。會員提供商有我已覆蓋和實施的方法MembershipProvider.GetPassword
。如何訪問MembershipProvider.GetPassword方法
問題是如何從代碼訪問此方法?我嘗試過這樣的Membership.GetPassword
,但是編譯器給出了這樣的方法不存在的錯誤。
我在ASP.NET MVC應用程序中實現了Membership Provider。會員提供商有我已覆蓋和實施的方法MembershipProvider.GetPassword
。如何訪問MembershipProvider.GetPassword方法
問題是如何從代碼訪問此方法?我嘗試過這樣的Membership.GetPassword
,但是編譯器給出了這樣的方法不存在的錯誤。
GetPassword
方法未在Membership靜態類中公開。所以,你可以簡單地使用Provider屬性來獲取當前的供應商和打電話給你就可以了喜歡的任何方法:
var pwd = Membership.Provider.GetPassword("username", "answer");
也許在ASP.NET論壇這個答案可以幫助
http://forums.asp.net/t/1287776.aspx/1
它指向你到... http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.getpassword.aspx
文檔說以下內容:
輸入用戶名和密碼答案,並從數據源中檢索該用戶的密碼,並以字符串形式返回密碼 。
getPassword方法來確保EnablePasswordRetrieval標誌 正在執行任何操作之前設置爲true。如果 EnablePasswordRetrieval爲false,則引發NotSupportedException異常 。
GetPassword還檢查RequiresQuestionAndAnswer 屬性的值。如果RequiresQuestionAndAnswer爲true,GetPassword會檢查提供的答案參數的 值與數據源中存儲的密碼 答案。如果它們不匹配,則拋出一個 MembershipPasswordException異常。
如果您自定義的成員提供支持散列密碼,如果 EnablePasswordRetrieval屬性設置爲true,密碼 格式設置爲散列的 getPassword方法來應該拋出一個異常。散列的密碼不能被檢索。
HTH