19-3-2010 21:49:22
Tài khoản của DNN sử dụng ASPNET MemberShip của dotnet 2.0 nên đáng nhẽ là không thể đặt mật khẩu được. Vì cái class bao gồm các method sau :
public override bool ChangePassword(string username, string oldPassword, string newPassword);
public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer);
nhưng và tài khoản của thằng này có thêm một vài thông số tương đối quái dị là cái passwordSal. Để đặt lại mật khẩu của tài khoản DNN chúng ta làm như sau :
đọc ra UserId của chú 'host'.
SELECT u.UserName, ms.Password, ms.PasswordFormat, ms.PasswordSalt, u.UserId
FROM aspnet_Users AS u INNER JOIN
aspnet_Membership AS ms ON u.UserId = ms.UserId
WHERE u.UserName = 'host'
Crypto cy = new Crypto();
string pwd = cy.Encode(txtPass.Text, "iOPf/5fnJQBhBXwY34zWQg==");
rồi update lại bảng aspnet_Users
update aspnet_Users set Password='pwd' where UserId='abc...'
---
http://coder.awas.vnhttp://mobile.awas.vnhttp://vtv.awas.vnhttp://baihatviet.awas.vn