как получить доступ к методу MembershipProvider.GetPassword - PullRequest
1 голос
/ 30 марта 2012

Я реализовал членство в моем приложении ASP.NET MVC.У провайдера членства есть метод MembershipProvider.GetPassword, который я переопределил и реализовал.

Вопрос в том, как получить доступ к этому методу из кода?Я пытался, как это Membership.GetPassword, но компилятор выдает ошибку, что такой метод не существует.

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Может быть, этот ответ на форуме 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 также проверяет значение свойства requireQuestionAndAnswer.Если для RequQuestionAndAnswer задано значение true, GetPassword проверяет значение предоставленного параметра ответа по сохраненному ответу пароля в источнике данных.Если они не совпадают, генерируется исключение MembershipPasswordException.

Если ваш пользовательский поставщик членства поддерживает хешированные пароли, метод GetPassword должен вызвать исключение, если для свойства EnablePasswordRetrieval установлено значение true, а для формата пароля установлено значение Hashed,Хешированные пароли не могут быть восстановлены.

HTH

1 голос
/ 30 марта 2012

Метод GetPassword не был представлен в статическом классе Членство .Таким образом, вы можете просто использовать свойство Provider , чтобы получить текущего поставщика и вызвать любой метод, который вам нравится:

var pwd = Membership.Provider.GetPassword("username", "answer");
...