我有一个Silverlight应用程序(使用MVC),当我在Visual Studio中使用Visual Studio开发中心构建时,没有问题,HttpContext.Current.User.Identity.Name
的值为HttpContext.Current.User.Identity.Name为空
但是当我使用与IIS 7.5(我使用Windows 7)相同的项目,HttpContext.Current.User.Identity.Name
保持空
任何人都可以帮忙吗?或者知道我在哪里可以找到Visual Studio开发中心的设置,所以我可以检查IIS中有什么问题?
检查您的验证设置。 HttpContext.Current.User是一个封装当前用户的IPrincipal - 是您自己的项目中的Windows用户,.NET Forms安全主体,Passport主体或自定义用户主体。 我怀疑IIS7是允许匿名身份验证,而无论什么原因,Visual Studio作为经过身份验证的用户运行。什么是在Visual Studio中返回的.Name值,以及您的IIS网站上的身份验证设置是什么? – 2009-10-15 08:32:52
。在Visual Studio中的名称返回“lapjordy \\ Jordy”(我的Windows登录名) 。IIS中的名称返回“”(空字符串) 我在IIS中启用了匿名身份验证并打开了Windows身份验证,浏览器要求我给我的Windows凭据.. 我唯一想要的是,应用程序(silverlight)给我我当前的Windows用户的名称(没有浏览器是要求我的用户名 - >见图片) – Jordy 2009-10-15 11:39:06
http://img98.imageshack.us/content.php?page=done&l=img98/5376/printscreen1.png&via=mupload – Jordy 2009-10-15 11:40:14