2010-01-05 3 views
0

Je suis en train de regarder une API et je vois les deux appels suivants:logiciel de conception de base Question Utilisation des rôles et des membres

API.Users.Roles.getAllRoles(); 

API.Admin.Roles.getAllRoles(); 

Ce que je voudrais savoir est comment chacun de ces appels est utilisé dans le contexte d'un programme Web. Puisque Admin et Utilisateurs sont des propriétés, qu'est-ce que le get exactement? ensemble; Faire? Comment l'appel sait-il quel administrateur (ou utilisateur) fait l'appel?

Mon intuition est que cela a quelque chose à voir avec la façon dont la classe API est instancié (et séance?) Mais je vous en serais reconnaissant un rendez-vous à travers sur ce qui est passe ici si je comprends pleinement.

La structure de classe (en abrégé) se présente comme suit:

public class API() 
{ 
public Admin Admin { get; private set; } 
public Users Users { get; private set; } 
} 

public class Users 
{ 
public Roles Roles { get; private set; } 
    ... 
} 

public class Roles 
{ 

    public override string[] GetAllRoles() 
    { 
     ... 
    } 
} 

Merci à l'avance.

Répondre

0

Pour moi, il semble qu'ils ont un fournisseur de rôle personnalisé et remplacent donc la méthode GetAllRoles afin que les rôles puissent être obtenus à partir de la source de données. Sans plus de détails, je ne peux que supposer, mais quand un utilisateur s'enregistre, on lui assigne probablement un rôle particulier. Ils peuvent ensuite utiliser la méthode Roles.IsUserInRole pour détecter le rôle assigné à l'utilisateur. Il y a plus sur les fournisseurs de rôles personnalisés here qui expliquera pourquoi les méthodes sont remplacées.

1

Il va vérifier le nom d'utilisateur actuel à partir du principal actuel (HttpContext.Current.User.Identity.Name) qui utilise le compte forms/windows en fonction de l'installation, ou sinon dans l'environnement web, il utilisera les fenêtres actuelles utilisateur connecté au système.

Questions connexes