在不使用Windows Authentication的前提下,ASP.NET如何获取客户端用户登录Windows的用户名?情况是这样的:1。客户要求使用Active Directory作为网站用户的数据库,网站合法用户的用户名和密码都存储在AD中。
2。客户端用户大多使用AD中的用户名和密码登录Windows。因此客户希望能够做到客户端用户登录了Windows即登录了网站。因此系统必须获取客户端用户登录Windows的用户名,进行校验,查看该用户是否是AD用户。(这里似乎有一个漏洞???是吗?)

解决方案 »

  1.   

    同时,iis设置成不允许匿名访问,和windows集成验证~!!
      

  2.   

    可以实现:
    IIS设置成不允许匿名windows集成验证
    ASP.NET 的Web.config设置成允许模仿的Windows集成验证这样只有用AD的账号登陆Windows才能访问网站.因此系统必须获取客户端用户登录Windows的用户名,进行校验,查看该用户是否是AD用户。
    -------------------------------------------------------------------------
    不用代码校验,你进入windows时就根据你的用户信息产生了一个证书,IIS直接检验该证书是否有效来进行验证.
    获得用户的AD账号很简单,User.Identity.Name就可以,好像也可以通过AD获得用户密码.
      

  3.   

    楼上的各位,很感谢你们的帮助,不过我的主题中有这么句话:
    在不使用Windows Authentication的前提下,ASP.NET如何获取客户端用户登录Windows的用户名?因为使用Windows Authentication,在显示页面之前一定会弹出对话框,要求用户要登录服务器。
    因为用户已经使用了AD分配的帐号登录了客户端Windows,因此根本不希望有上面所说的登录过程,因此希望能够读取客户端的帐号。我不知道我有没有表述清楚。