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

我有一个Web应用程序,在浏览器中没有任何问题。但是如果我在浏览器外安装它,当我尝试获取用户名时,userAccount不在字典中:
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%>" />.
我需要它,因为有时候在我的应用程序中,我需要显示当前记录的用户,并显示该用户将执行此操作或在保存之前执行此操作。 所以,有一个问题: 如何管理以确保用户有权加载应用程序并检索userId。 非常感谢你! J4N     
已邀请:
您应该可以像下面这样设置客户端:
e.InitParams["UserAccount"] = Environment.UserName;
这仅获取用户名,但与您显示的其他示例完全相同。 但是,根据客户端提供的用户名设置权限永远不是一个好主意(这和您的示例都有)。     
实际上似乎不可能,我要创建一个返回当前登录用户的WCF服务。     

要回复问题请先登录注册