Как вручную изменить пароль в членстве asp.net? - PullRequest
9 голосов
/ 05 сентября 2011

Я хотел бы изменить пароль в базе данных вручную, но я не уверен, что именно мне нужно изменить и какие методы использовать. Я бы изменил его через код, но в настоящее время у меня есть доступ только к БД.

Ответы [ 2 ]

18 голосов
/ 05 сентября 2011

Если вы хотите изменить пароль напрямую через базу данных, вам необходимо создать нового пользователя или найти существующего пользователя, пароль которого вы знаете.Затем вам нужно получить пароль и соль, а затем обновить соответствующего пользователя с тем же паролем и солью.

Получить пароль / соль пользователя:

SELECT 
    au.username, aa.ApplicationName, password, passwordformat, passwordsalt
FROM 
    aspnet_membership am
INNER JOIN 
    aspnet_users au ON (au.userid = am.userid)
INNER JOIN 
    aspnet_applications aa ON (au.applicationId = aa.applicationid)
WHERE
    au.UserName = '[user to change password]'

Изменитьпароль:

DECLARE @changeDate DATETIME
SET @changeDate = GETDATE()

EXEC aspnet_Membership_setPassword 
    'applicationName',
    'user',
    'password',
    'passwordsalt',
    @changeDate,
    Passwordformat

Взято из здесь ...

1 голос
/ 05 сентября 2011

См. Эту страницу: http://www.asp.net/security/tutorials/recovering-and-changing-passwords-cs

Код вызывает хранимую процедуру:

Как и в случае с другими методами в структуре членства, метод ResetPassword делегирует настроенному поставщику,SqlMembershipProvider вызывает хранимую процедуру aspnet_Membership_ResetPassword, передавая имя пользователя, новый пароль и предоставленный ответ пароля, среди других полей.Хранимая процедура гарантирует, что ответ пароля совпадает, а затем обновляет пароль пользователя.

...