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;
这虽然只得到了用户名,但不完全一样,你所显示的另一个例子。
但是,根据客户端提供的用户名设置权限并不是一个好主意(这与您的示例一样)。
确定吗?因为我找不到任何“UserName”属性在我的Environement var – J4N 2011-03-25 12:18:21
@ J4N http://msdn.microsoft.com/en-us/library/system.environment.username.aspx – 2011-03-25 17:26:00
我不确定这是silverlight可以兑换。对于你以前的担忧:我没有设置任何权限,它是负责这个的服务器,但有时我需要显示当前用户,或者只显示与当前对象相关的对象,但它只是人体工程学担心,从不安全。 – J4N 2011-03-27 06:21:27