Il n'existe aucun moyen direct de modifier un nom de rôle dans le fournisseur d'appartenance. Je voudrais obtenir la liste des utilisateurs qui sont dans le rôle que vous souhaitez renommer, puis supprimez-les de la liste, supprimez le rôle, créez le rôle avec le nouveau nom et puis Ajoutez les utilisateurs trouvés plus tôt au rôle avec le nouveau nom.
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);
}
Cela changera le nom du rôle pour tous les utilisateurs du rôle. Suivi: les rôles sont utilisés pour s'assurer que l'utilisateur ne joue que sa part dans le système. User.IsInRole (ROLE_NAME) vous aidera à appliquer les valeurs BR applicables, pour un utilisateur et les rôles qu'il joue Si vous pouvez changer les noms de rôle à la volée, comment allez-vous valider que l'utilisateur est vraiment dans ce rôle. Eh bien c'est ce que j'ai compris, quand j'ai demandé à ce sujet.
modifier rtpHarry: échantillon pseudocode Converti compilable C# méthode
Pourquoi il est impossible: pas en classe de base [public abstract class RoleProvider: ProviderBase] Pourquoi ils choisissent de ne pas le mettre en œuvre, que je ne sais pas encore;) Je vais vous laisser poser la question – CheGueVerra