you need to impersonate the user, seeASP.NET Impersonation
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspnetimpersonation.aspINFO: Implementing Impersonation in an ASP.NET Application
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q306158

解决方案 »

  1.   

    我想得到的是客户端的用户,而不是执行这个线程的用户,我每次得到的都是
    主机名\ASPNET 用户,我想拿到登陆到这台机器的nt 用户
      

  2.   

    感谢您使用微软产品。
     
    请您注意下面几点:1。打开IIS snap-in, 在您的Web Application属性中,取消匿名登陆。2。 在您的Web Application属性中,选择使用Windows验证。3。 在您的WebApplciation的Web.config文件中,使用impersonalte, 这样,您的Web Application工作进程将使用登陆IIS的账号作为它的Security Context, 如果登陆的用户没有管理员权限,就没有办法通过您的程序管理IIS.<identity impersonate="true"/> 关于IIS安全性的问题,建议您参阅下面的微软文章:http://www.microsoft.com/china/community/article.asp?oBODY=TechZone/TechArticle/TechDoc/NETcertification&oXSLT=TechZone/TechArticle/TechContent 当然您也可以在您的代码中impersonate到具有管理员权限的账号,这方面的信息,建议您参阅下面的微软知识库文章:Q315736 HOW TO: Secure an ASP.NET Application by Using Windows Security
    http://support.microsoft.com/support/kb/articles/q315/7/36.aspQ317012 INFO: Process and Request Identity in ASP.NET
    http://support.microsoft.com/support/kb/articles/q317/0/12.aspQ306158 INFO: Implementing Impersonation in an ASP.NET Application
    http://support.microsoft.com/support/kb/articles/q306/1/58.asp希望对您有所帮助。-微软全球技术中心  -zgh本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  3.   

    感谢您的回复。对于第二个问题,建议您具体描述您的要求。请原谅我对问题不是太清楚。您既然在IIS中对您的应用程序使用Windows混合验证,那么能够访问您的WebApplication的用户都是经过Windows验证的用户。 您不需要自己在写代码去验证。其实在ASP.NET中,您可以简单的使用下面的语句就可以得到发出HTTP请求的客户端的身份,而不管ASP.NET工作在什么用户下面:Page.User.Identity.Name希望对您有所帮助。-微软全球技术中心  -zgh本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  4.   

    Sorry!
    出差了,所以没及时看。
    要求是这样的:
    我在asp.net中验证用户时,我户提供一个form 让用户输入nt 账号和密码,进行验证,是否是域用户。(可以不是当前登陆的人,因为允许用户用其他人的账号,进行一些额外的操作),上面你提供的都是当前登陆的人的账号。
    顺便问一下,不用在Web Application属性中,取消匿名登陆,是否可以操作,实现我的想法。