Không có cách nào trực tiếp để thay đổi tên vai trò trong nhà cung cấp Tư cách thành viên.
Tôi sẽ nhận danh sách người dùng có vai trò bạn muốn đổi tên, sau đó xóa họ khỏi danh sách, xóa vai trò, tạo vai trò với tên mới và sau đó Thêm người dùng được tìm thấy trước đó vào vai trò tên mới.
public void RenameRoleAndUsers(string OldRoleName, string NewRoleName)
{
string[] users = Roles.GetUsersInRole(OldRoleName);
Roles.CreateRole(NewRoleName);
Roles.AddUsersToRole(users, NewRoleName);
Roles.RemoveUsersFromRole(users, OldRoleName);
Roles.DeleteRole(OldRoleName);
}
Điều đó sẽ thay đổi tên của vai trò cho tất cả người dùng trong vai trò.
Theo dõi: Vai trò, được sử dụng để đảm bảo người dùng chỉ đóng vai trò của mình trong hệ thống, do đó User.IsInRole (ROLE_NAME), sẽ giúp bạn thực thi chứng khoán BR áp dụng cho người dùng và vai trò của anh ấy Nếu bạn có thể thay đổi tên vai trò khi đang di chuyển, bạn sẽ xác thực rằng người dùng thực sự ở trong vai trò đó như thế nào. Đó là điều tôi hiểu, khi tôi hỏi về nó.
rtpHarry chỉnh sửa: mẫu mã giả được chuyển đổi để compilable C# phương pháp
Tại sao nó không thể xảy ra: Không có trong lớp cơ sở [public abstract class RoleProvider: ProviderBase] Tại sao họ chọn không thực hiện nó, mà tôi không biết Tuy nhiên;) Tôi sẽ cho phép bạn đặt câu hỏi – CheGueVerra