2009-06-09 8 views

Antwort

6

ich dies im Grunde in einem von zwei Arten behandeln.

1) Verwenden Sie das ASP.NET Silverlight-Steuerelement. Wenn das Serversteuerelement geladen wird, können Sie den aktuellen Benutzernamen mithilfe von HttpContext.Current.User.Identity.Name abrufen und als InitParam in das Silverlight-Steuerelement senden.

2) Ich brauche in der Regel nur den Benutzernamen, wenn ich zurück zum Server rufe. Wenn der Dienst eine Windows-Authentifizierung erfordert, können Sie einfach HttpContext.Current.User.Identity.Name im Dienst aufrufen, um den Benutzernamen zu erhalten

0

AFAIK ist nicht möglich, aber diese article zeigt einige Optionen. Hör zu. Wenn Sie die Formularauthentifizierung verwenden, überprüfen Sie diese article.

+0

Zweiter Link in der Antwort ist tot - * "Diese Website ist nicht erreichbar | Interviews. Die Server-IP-Adresse von dotnetthread.com konnte nicht gefunden werden. "* – Pang

3

Grundsätzlich müssen Sie einen Dienst implementieren, der aktuelle Benutzerinformationen an den Client zurückgibt und diesen Dienst beim Starten der Silverlight-Anwendung aufruft.

Das Beispiel des Dienstes:

[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; 
    } 
} 
Verwandte Themen