Silverlight Windows 用户身份名称





5.00/5 (13投票s)
如何在 Silverlight 中获取 Windows 用户身份名称。
引言
本文档解释了如何在不使用 WCF 的情况下,在 Silverlight 中获取 Windows 用户身份名称。
背景
我一直在网上寻找 Silverlight 的 Windows 身份验证方法。在 Bing 和 Google 上搜索了一段时间后,我发现大多数方法都使用 WCF 服务来执行 Windows 身份验证,其主要目标仅仅是获取当前用户名。我认为仅仅为了获取 Windows 用户而使用 WCF 显得有些过重,而且,你还需要配置 basicHttpBinding
以将 Windows 身份验证与 WCF 集成,这可能有点琐碎,但如果配置不当可能会变得很麻烦。
以下是实现该目标的三个快速简便的步骤
- 打开包含 Silverlight XAP 文件的 ASPX 页面,在
Object
标签内添加一个新的参数(我们称之为Initparams
) - 打开 App.xaml.cs 文件并声明一个全局变量
- 在你的 Mainpage.xaml 或导航页面中声明一个变量,并将全局变量的值赋给局部变量,这样你就可以获得当前登录的 Windows 用户名了。
<param name="Initparams"
value="UserAccount=<%=HttpContext.Current.User.Identity.Name%>" />
public static string UserID = string.Empty;
在 App.xaml.cs 中的 application_startup
方法中,将参数值赋给全局变量(这应该在 RootVisual
语句之前)
UserID = e.InitParams["UserAccount"];
string UserAccount = App.UserID;