【问题标题】:how can i get current user name in Silverlight 2.0如何在 Silverlight 2.0 中获取当前用户名
【发布时间】:2009-06-09 06:42:25
【问题描述】:

大家好,我正在使用 silverlight2.0 制作一个 asp.net 项目。但是我无法获取当前用户名...如何获取当前用户名 谢谢...

【问题讨论】:

    标签: silverlight asp.net-3.5


    【解决方案1】:

    我基本上以两种方式之一来处理这个问题。

    1) 使用 ASP.NET Silverlight 控件。当服务器控件加载时,使用 HttpContext.Current.User.Identity.Name 获取当前用户名并将其作为 InitParam 发送到 silverlight 控件。

    2) 我一般只需要回叫服务器的用户名。如果服务需要windows认证,可以直接在服务内部调用HttpContext.Current.User.Identity.Name获取用户名

    【讨论】:

      【解决方案2】:

      基本上,您需要实现一个服务,将当前用户信息返回给客户端,并在 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;
          }
      }
      

      【讨论】:

        【解决方案3】:

        AFAIK 这是不可能的,但这个article 显示了一些选项。看看这个。如果您使用表单身份验证,请检查此article

        【讨论】:

        • 答案中的第二个链接已失效 - “无法访问此站点 | 找不到 interviews.dotnetthread.com 的服务器 IP 地址。”
        猜你喜欢
        • 2011-05-15
        • 2010-11-13
        • 1970-01-01
        • 2014-05-02
        • 2013-10-18
        • 2018-02-17
        • 2014-08-21
        • 2011-01-06
        相关资源
        最近更新 更多