Любой способ с членством .NET в C #, что я могу сбросить пароль - PullRequest
1 голос
/ 08 ноября 2011

Я кодирую приложение и хотел бы дать администратору способ сбросить пароль. Самое близкое, к чему я пришел, это следующее:

public abstract string ResetPassword(string username, string answer);

Но для этого нужно, чтобы я знал ответ.

С помощью .NET MembershipProvider, как я могу просто сбросить пароль на что-то другое? Единственный способ сделать это - удалить пользователя и создать заново.

Ответы [ 4 ]

1 голос
/ 08 ноября 2011

Реализуете ли вы свой собственный MembershipProvider? если это так, установите для RequQuestionAndAnswer значение false, и вам не нужно будет предоставлять ответ в ResetPassword.

0 голосов
/ 08 ноября 2011

Я не смог сделать то, что вы хотите, используя только членство ... Мне пришлось использовать System.DirectoryServices.

Предполагая, что вы можете получить запись в каталоге, попробуйте это:

public void SetPassword( DirectoryEntry AdEntry, string userPassword )
        {
            ADEntry.Invoke( "SetPassword", new object[] { userPassword } );
            ADEntry.CommitChanges();
        }

Если вам нужна дополнительная помощь, посмотрите здесь:

Howto: (почти) все в Active Directory через C #

0 голосов
/ 08 ноября 2011

Довольно легко добавить функцию восстановления пароля в проект MVC. У меня есть запись в блоге на моем сайте, где я подробно описываю код, который нужно добавить в свой контроллер, модель и представления:

http://hectorcorrea.com/Blog/Password-Recovery-in-an-ASP.NET-MVC-Project

0 голосов
/ 08 ноября 2011
...