Diễn đàn    Các Projects Dotnetnuke (DNN)    Đặt mật khẩu cho tài khoản 'host' của DNN

Thành viênTrả lời
coder

lap trinh khong bien gioi
144  bài
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.vn
http://mobile.awas.vn
http://vtv.awas.vn
http://baihatviet.awas.vn
 
coder

lap trinh khong bien gioi
144  bài
19-3-2010 21:50:26
Còn cái class lìu tìu làm việc Crypto đây.
 

namespace Pwd
{
using System;
using System.Reflection;
using System.Text;
using System.Web.Configuration;
using System.Web.Security;

public class Crypto
{
public Crypto()
{
}

// Fields
private MethodInfo _EncDecMethod = null;

// Methods
public string Decrypt(string data)
{
string str;
Initialize();
try
{
byte[] buffer = Convert.FromBase64String(data);
object[] parameters = new object[5];
parameters[0] = false;
parameters[1] = buffer;
parameters[3] = 0;
parameters[4] = buffer.Length;
byte[] bytes = (byte[])_EncDecMethod.Invoke(null, parameters);
str = Encoding.UTF8.GetString(bytes);
}
catch
{
throw new Exception("Failed to encrypt data.");
}
return str;
}

public string Encrypt(byte[] bytes)
{
string str = "";
Initialize();
try
{
object[] parameters = new object[5];
parameters[0] = true;
parameters[1] = bytes;
parameters[3] = 0;
parameters[4] = bytes.Length;
byte[] inArray = (byte[])_EncDecMethod.Invoke(null, parameters);
str = Convert.ToBase64String(inArray);
}
catch
{
throw new Exception("Failed to encrypt data.");
}
return str;
}

private void Initialize()
{
try
{
_EncDecMethod = typeof(MachineKeySection).GetMethod("EncryptOrDecryptData",
BindingFlags.NonPublic | BindingFlags.Static,
Type.DefaultBinder,
new Type[] { typeof(bool), typeof(byte[]), typeof(byte[]), typeof(int), typeof(int) }, null);
}
catch
{
throw new Exception("Failed to initialized base encryption method.");
}
}

public string Encode(string pass, string salt)
{
byte[] bytes = Encoding.Unicode.GetBytes(pass);
byte[] src = Convert.FromBase64String(salt);
byte[] data = new byte[src.Length + bytes.Length];
Buffer.BlockCopy(src, 0, data, 0, src.Length);
Buffer.BlockCopy(bytes, 0, data, src.Length, bytes.Length);

string s = Encrypt(data);
return s;
}
}
}

---
http://coder.awas.vn
http://mobile.awas.vn
http://vtv.awas.vn
http://baihatviet.awas.vn
 
lamtn


0  bài
9-6-2010 7:53:52
 

Chủ đề gần đây :

Cùng loại :

Tên file Mô tả chi tiết Ngày
NWeb.zip (1) Module đơn giản Newsweb trên Dotnetnuke v10.x.x.x10/18/2025 8:08:11 AM
vspforum.zip (11) Ma nguon vspforum ngay xua4/18/2023 6:38:37 AM
pdfjs.rar (2) pdfjs 2017 : hiển thị tốt trên iphone 11, 12, 13 không lỗi, bản 2012 sẽ lỗi trên iphone6/21/2022 11:52:48 AM
pdfjs2.rar (2) Xem file pdf bằng viewer.hml cua pdfjs (thư viện chuẩn mozilla) 2012. https://mozilla.github.io/pdf.js/getting_started/#download có thể download bản prebuild tại đây6/21/2022 11:52:04 AM
runner.zip (0) using three.js, orbitcontrol to view an object move random on map. Di chuyển 1 đồ vật ngẫu nhiên trên bản đồ, sử dụng với demo nhân viên di chuyển trong văn phòng. Toàn js download về là chạy12/5/2019 5:55:14 PM
gmap.zip (1) google map + marker7/17/2019 2:25:05 PM
vinsmarthomeservice.zip (1) java post json to api, use AsyncTask, event listener7/9/2019 5:00:10 PM
fblogin.zip (0) Login facebook bang javascript SDK7/9/2019 9:16:37 AM
autocomplete-location.zip (2) autocomplete location geo from google place, html + js7/4/2019 4:37:55 PM
WebAPI.zip (8) api for android access db (v1.0.0)7/4/2019 9:14:17 AM