65.9K
CodeProject 正在变化。 阅读更多。
Home

Silverlight Windows 用户身份名称

starIconstarIconstarIconstarIconstarIcon

5.00/5 (13投票s)

2009年12月15日

CPOL

1分钟阅读

viewsIcon

109734

downloadIcon

1222

如何在 Silverlight 中获取 Windows 用户身份名称。

引言

本文档解释了如何在不使用 WCF 的情况下,在 Silverlight 中获取 Windows 用户身份名称。

背景

我一直在网上寻找 Silverlight 的 Windows 身份验证方法。在 Bing 和 Google 上搜索了一段时间后,我发现大多数方法都使用 WCF 服务来执行 Windows 身份验证,其主要目标仅仅是获取当前用户名。我认为仅仅为了获取 Windows 用户而使用 WCF 显得有些过重,而且,你还需要配置 basicHttpBinding 以将 Windows 身份验证与 WCF 集成,这可能有点琐碎,但如果配置不当可能会变得很麻烦。

以下是实现该目标的三个快速简便的步骤

  1. 打开包含 Silverlight XAP 文件的 ASPX 页面,在 Object 标签内添加一个新的参数(我们称之为 Initparams
  2. <param name="Initparams" 
      value="UserAccount=<%=HttpContext.Current.User.Identity.Name%>" />
  3. 打开 App.xaml.cs 文件并声明一个全局变量
  4. public static string UserID = string.Empty;

    App.xaml.cs 中的 application_startup 方法中,将参数值赋给全局变量(这应该在 RootVisual 语句之前)

    UserID = e.InitParams["UserAccount"];
  5. 在你的 Mainpage.xaml 或导航页面中声明一个变量,并将全局变量的值赋给局部变量,这样你就可以获得当前登录的 Windows 用户名了。
  6. string UserAccount = App.UserID;
© . All rights reserved.