asp.net - 在.net应用中获取Windows身份验证的用户名?

原文 标签 asp.net iis-7 windows-authentication

Get windows authenticated user name in .net app?

How to get windows authenticated user name in .net application? My app is hosted on IIS. There is no Login form. But, I want to get the windows user name of the persons browsing it. I tried all the request objects. principal object getcurrent().name returns IIS app pool user name. But not the actual user. Please help. Thanks.

Answer

You cannot. Unless your application is using windows auth (and they could be prompted at some point like in firefox) you cannot get this information. If you do allow it, then access it via http://msdn.microsoft.com/en-us/library/system.web.httpcontext.user.aspx

HttpContext.User.Identity.Name

again though - they could be prompted for a login at some point.

翻译

如何在.net应用程序中获取Windows身份验证的用户名?我的应用程序托管在IIS上。没有登录表单。但是,我想获取浏览它的人的Windows用户名。我尝试了所有请求对象。主体对象getcurrent()。name返回IIS应用程序池用户名。但不是实际用户。请帮忙。谢谢。
最佳答案
你不能。除非您的应用程序使用的是Windows auth(并且可能会在诸如firefox的某些时候提示它们),否则您将无法获得此信息。如果允许,则通过http://msdn.microsoft.com/en-us/library/system.web.httpcontext.user.aspx访问它

HttpContext.User.Identity.Name

再次-在某些时候可能会提示他们登录。
相关推荐

asp.net - 包括Modernizr JS库使asp.net网站的整个<body>内容无法呈现

asp.net - 如何从JsonResult对象获取实际的JSON以进行单元测试?

asp.net - 字段不得超过4个字符,并且字符应唯一

c# - 实体框架-储存库检查(大文本)

asp.net - 无法通过TortoiseSVN提交我的更改

asp.net - html解析器错误消息:解析器错误消息:服务器标记格式不正确

c# - 执行命令C#不起作用

c# - 是否有任何理由使用Server.MapPath()引用文件存储?

c# - 在浏览器中禁用最近的文本列表

c# - 旧的ASP.NET Webform有一些内联代码被编码:(