2009-06-09 5 views

Répondre

6

Je gère essentiellement ce dans l'une des deux façons.

1) Utilisez le contrôle ASP.NET Silverlight. Lorsque le contrôle serveur se charge, récupérez le nom d'utilisateur actuel en utilisant HttpContext.Current.User.Identity.Name et envoyez-le en tant qu'InitParam dans le contrôle silverlight.

2) En règle générale, je n'ai besoin que du nom d'utilisateur lorsque je rappelle le serveur. Si le service nécessite une authentification Windows, vous pouvez simplement appeler HttpContext.Current.User.Identity.Name à l'intérieur du service pour obtenir le nom d'utilisateur

0

AFAIK ce n'est pas possible mais ce article montre quelques options. Vérifiez-le. Si vous utilisez l'authentification par formulaire, cochez cette case article.

+0

Le deuxième lien dans la réponse est mort - * "Ce site ne peut être contacté | L'adresse IP du serveur de dotnetthread.com est introuvable. "* – Pang

3

Fondamentalement, vous devez implémenter un service qui retournera les informations utilisateur actuelles au client et appellera ce service au démarrage de l'application Silverlight.

L'exemple du service:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 
public class UserInfoService : IUserInfoService 
{ 
    public UserInfo GetUserInfo() 
    { 
     if (HttpContext.Current.User.Identity.IsAuthenticated) 
      return null; 

     var userInfo = new UserInfo 
     { 
      Login = HttpContext.Current.User.Identity.Name, 
      Fullname = ..., 
     }; 

     return userInfo; 
    } 
}