silverlight应用程序中的Windows身份验证(NTLM)“Out of browser”

silverlight应用程序中的Windows身份验证(NTLM)“Out of browser”

问题描述:

我有一个web应用程序,它在我的浏览器中没有任何问题。但是,如果我安装了浏览器外,当我试图获取用户名,该userAccount不在词典:silverlight应用程序中的Windows身份验证(NTLM)“Out of browser”

private void Application_Startup(object sender, StartupEventArgs e) { 
    string userId = e.InitParams["UserAccount"];//--> KeyNotFoundException 
    //... 
} 

,因为我给它通过在ASPX推出的Silverlight这是正常的网页:

<param name="InitParams" value="UserAccount=<%=HttpContext.Current.User.Identity.Name%>" />. 

我需要它,因为有时我的应用程序,我需要显示当前登录的用户,并显示它的用户之前我保存它,这将做到这一点还是这个动作。

因此,有一个问题:

  • 如何管理,以确保用户加载应用程序和检索的用户id的权利。

非常感谢!

J4N

事实上,它似乎是不可能的,我已经创建了一个WCF服务,它返回当前记录的用户。

你应该能够将其客户端片面这样的:

e.InitParams["UserAccount"] = Environment.UserName; 

这虽然只得到了用户名,但不完全一样,你所显示的另一个例子。

但是,根据客户端提供的用户名设置权限并不是一个好主意(这与您的示例一样)。

+0

确定吗?因为我找不到任何“UserName”属性在我的Environement var – J4N 2011-03-25 12:18:21

+0

@ J4N http://msdn.microsoft.com/en-us/library/system.environment.username.aspx – 2011-03-25 17:26:00

+0

我不确定这是silverlight可以兑换。对于你以前的担忧:我没有设置任何权限,它是负责这个的服务器,但有时我需要显示当前用户,或者只显示与当前对象相关的对象,但它只是人体工程学担心,从不安全。 – J4N 2011-03-27 06:21:27