Je cherche à ajouter au système d'authentification fourni dans le modèle commercial Silverlight 4 car mon modèle ne correspond pas complètement à celui fourni dans le modèle. J'ai un service Web existant qui effectue mon authentification et fournit des rôles ainsi que des opérations autorisées pour chaque rôle. C'est le modèle fourni par AzMan/Authentication Manager.
Cependant, au lieu d'obtenir un seul rôle, après l'authentification, je fournis à l'utilisateur une liste de rôles disponibles et je lui permet de sélectionner l'un de ces rôles pour ensuite obtenir une liste d'opérations/actions pour ce rôle sélectionné.
Le problème que j'ai est que je n'arrive pas à trouver comment ajouter de nouvelles méthodes au service d'authentification pour me permettre d'obtenir les opérations pour l'utilisateur actuel et le rôle actuellement sélectionné afin de compléter le processus de connexion par exemple.
public SessionInfo GetOperations(string username, string selectedRole)
{
SessionInfo sessionInfo;
using (AzManServiceClient azClient = new AzManServiceClient("AnonymousAuthentication"))
{
sessionInfo = azClient.LoginUserByUsername("msldap://CN=LiveApps,CN=Program Data,DC=HLSUK,DC=local", "AIRS", selectedRole, null, username);
}
return sessionInfo;
}
La méthode ci-dessus n'est pas accessible depuis LoginForm.xaml.cs en utilisant WebContextBase.Current.Authentication... Seules des méthodes telles que Login sont visibles, ce qui est encore plus déroutant car je ne peux pas voir ces méthodes dans authenticationbase. Je suis complètement perdu. Comment puis-je ajouter de nouvelles méthodes au service d'authentification, ou devrais-je créer un nouveau domainservice, ou devrais-je accéder au service azman pour obtenir directement les opérations depuis le client silverlight.