用aso.net写的一个OA的登录,采用域认证IIS集成windows身份验证的时候,访问就会弹出一个window窗口,要求输入domain\userid和password,很多时候客户不习惯这样的登陆方式,而是习惯在一个页面里输入帐号和密码,点击按钮进行登陆。怎样才能不出现这个window窗口而是进入我的登录页面去进行登录?

解决方案 »

  1.   

    在局域网内实现域用户的自动登录,您可以将您的网站配置为Windows认证的方式(<authentication mode="Windows"/>),然后在IIS中配置为集成Windows认证,此后可以通过下述代码:String userAlias = Page.User.Identity.Name;获得登录的域用户,从而实现域用户的自动登录。
      

  2.   

    怎样才能不出现这个window窗口而是进入我的登录页面去进行登录? 
    ==
    这个应该不好实现,要么就用1楼的方法,域用户自动登录。
      

  3.   

    看看我的Blog,是不是有点用处
    http://cnblogs.com/tengs2000
    里面有2篇域用户登陆的文章 
      

  4.   

    还是没找到答案呀~~照理说是不应该选择匿名的。每个用户访问页面的时候,先判断他是否在域里面,如果已经登入域就可直接进入页面,用户信息写入session,否则转到登录页面(我自己写的登录页面)用域账号登录
      

  5.   

    您可以将您的网站配置为Windows认证的方式( <authentication mode="Windows"/>),然后在IIS中配置为集成Windows认证,此后可以通过下述代码:String userAlias = Page.User.Identity.Name;获得登录的域用户,从而实现域用户的自动登录。
      

  6.   

    楼上说的我知道,只是这样设置之后进入网页的时候还是会弹出一个系统的登录对话框。这个对话框让人很苦恼。
    如果加入可信站点,并在安全性设置里面最后一项:用户验证,选择“自动使用当前用户名和密码”,便不会弹出这个对话框。但不可能要求每个人都这么做的。
    所以我想知道有什么方法可以不出现这个对话框,即使用户没有登入域,也可以进入登录页面(我自己做的login页面)
      

  7.   

    弹出登录框是IE的行为,你通过服务端的代码是无法控制这个行为的,你只有采取以下两种方法中的一个作为变通。1. IIS设置成匿名认证方式
       这种方式不管内网外网一律进入登录页面,输入完用户名密码之后,你就用DirectoryEntry来实现登录
    2. 做两个网站,一个针对内网,一个针对外网。
       2.1 IIS需要这样设置:外网主机头绑定到域名,如:www.website.com,内网不需要绑定。
       2.2 内网站点当然设置成Windows集成认证,当内网访问的时候,只有输入Netbios名字才不会弹框,这一点是集成认证的特性。
       2.3 外网站点设置成匿名认证,然后跟方法1一样。外网访问当然是输入www.website.com,自然就到你的登录页面了。如果内网用户也输入这个url,那么哪怕你设置成了集成认证,它也是要弹框的。
      

  8.   

    弹出对话框,你可以在IIS,集成Windows验证很是奇怪啊,我的Blog上的那篇文章不行?我的就是这样做的!!
      

  9.   

    你的文章写得很不错啊。
    正是因为IIS配置成windows集成认证才会弹出对话框啊,呵呵。
      

  10.   

    authentication mode="Form" 不就可以指定登陆页面了吗?
    检查状态未登陆的,统一转到登陆页面,或者在web.config中设置登陆页面
      

  11.   

    你肯定在IIS 中进行了别的设置才会谈出对话框的!!检查下IIS 吧,我的系统就是按照我那片 文章做的,一切OK