2009-06-09 145 views

回答

6

我在兩種方式之一基本上處理這個問題。

1)使用ASP.NET Silverlight控件。加載服務器控件時,使用HttpContext.Current.User.Identity.Name獲取當前用戶名,並將其作爲InitParam發送到silverlight控件中。

2)我通常只需要用戶名稱,當我回電給服務器。如果服務需要Windows身份驗證,則可以在服務內部調用HttpContext.Current.User.Identity.Name以獲取用戶名

0

AFAIK它不可能,但是這個article顯示了一些選項。一探究竟。如果您使用表單身份驗證,請檢查此article

+0

答案中的第二個鏈接已死亡 - *「此站點無法訪問|訪談。無法找到dotnetthread.com的服務器IP地址。「* – Pang 2018-02-14 07:04:43

3

基本上,您需要實現將當前用戶信息返回給客戶端並在Silverlight應用程序啓動時調用此服務的服務。

服務的例子:

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