asp.net有4种认证方式
1.windows
2,form
3:passport
4:None
现在的要求是
1:我的程序有两个一样的登陆页面(什么都一样),暂且叫"login1.aspx"和"login2.aspx".我想达到的效果是,当用登陆"login1.aspx"进行登陆时,我希望能以windows集成身份验证登陆,就是不需要输入用户名和密码,直接用windows用户名登陆程序;当我用"login2.aspx",希望用户能用form的验证方式,就是用户必须自己输入用户名和密码才能登陆系统.综合起来,感觉就是需要要设计一个自定义的验证模块,但是我没有头绪,请高手指点.

解决方案 »

  1.   

    新开了一帖,拜托大家了
    http://community.csdn.net/Expert/topic/5707/5707454.xml?temp=3.852481E-02
      

  2.   

    不是很明白你的 “直接用windows用户名登陆程序"尝试,你可以在 web.config 中对不需要进行 forms 验证的文件、路径进行配置<location path="public.aspx">
    <system.web>
    <authorization>
         <allow user="*" /> <!-- 授权所有用户对 public.aspx 的访问-->
    </authorization>
    </system.web>
    </ocation><location path="publicFolder">
    <system.web>
    <authorization>
         <allow user="*" /> <!-- 授权所有用户对 publicFolder 文件夹 的访问-->
    </authorization>
    </system.web>
    </ocation>
      

  3.   

    </ocation>>>></location>
      

  4.   

    比如我设置了login1.aspx是启动页,也就是说,启动的时候,默认都是windows集成验证,只有当用户自己在浏览器种输入login2.aspx的时候,才采用from登陆验证
      

  5.   

    默认都是windows集成验证,只有当用户自己在浏览器种输入login2.aspx的时候,才采用from登陆验证========一个 Web 应用程序只能同时使用一中验证模式,你应该启用 Forms 验证,然后对需要 Forms 验证的 页面、文件夹 按我上述进行设置
      

  6.   

    然后对需要 Forms 验证的 页面、文件夹 按我上述进行设置===不需要!
      

  7.   

    是这样的.因为普通的客户并不想输入用户名和密码才能登陆系统去处理业务.他们觉得直接打开页面就用自己电脑系统的用户名登陆系统直接到default.aspx页面(他们电脑的用户是已经存在程序的用户数据库里了).但是他们的管理人员希望他们用自己的另一个登陆页面,这样就可以用其他员工的用户名登陆.(必须有另一个页面,因为管理员也是直接用自己电脑用户登陆系统,他们要想看其他员工的业务情况,就必须用其他员工的用户登陆,所以才会出现第二个login页面)
      

  8.   

    TO:
    Jinglecat(晓风残月 >> 问题需简洁,错误要详细)我现在想到的解决方案是:
    默认form验证,然后在global.cs中进行登陆页面的判断,如果是login1.aspx.直接取windows的用户名,直接设置cookie,通过验证如果是login2.aspx.就是取用户自己输入的用户名和密码,进行验证此方案是看到cpp2017(慕白兄) ,想到的.
    不知道是否可行???
      

  9.   

    first,put the login2.aspx file on the common web directory with the referring web.config configuration.
    second,you can add a new sub directory, then add the login1.aspx file, and add a new web.config in this sub directory, and give a proper configuration. The configuration will cover the parent configuation.good luck.
      

  10.   

    I understand what you mean
    But i think my vendor will not accept this solution .
    Coz she don;t want  others to know about anther login page!
    I mean login2.aspx is just for her using only !
      

  11.   

    这是IIS设置的问题吧?不知道是我不了解,还是理解错误.
      

  12.   

    I understand what you mean
    But i think my vendor will not accept this solution .
    Coz she don;t want  others to know about anther login page!
    I mean login2.aspx is just for her using only !
    -----真是什么Boss都有 呵呵
      

  13.   

    Hi, liushouzhaoIt's a pity that you just only have a copy of Forms Authentication setting at the web.config laying virual root dircetory in an ASP.NET Web Application.
      

  14.   

    直接取windows的用户名=======服务器端 还是 客户端? 后者(常规下)你取不到!前者我就不理解了,那还要登录做什么?访问 Login1 有何用处?按前面提到,用 cookie 记录持久登录信息不可以?事实上,就不应该有两个 login 入口的存在,徒增麻烦
      

  15.   

    在ASPX页面里面写 判断。。
      

  16.   

    我会选择,实现单入口登录,根据不同角色,赋予不同的权限,假如希望对某些角色具有特殊级别的权限,你可以再进行一次确认性的验证假如,将 Windows 集成验证 和 其他验证方式 混在一起,无法带来便利性,反而增加复杂性
      

  17.   


           还有这么用的??可在WinForm程序中嵌入,但是很难实现LZ说的效果
      

  18.   

    最好不要混合使用两种登录方式,如果你一定要区分两类别用户,那就应该用两个目录或两个Web应用来区分它们,然后这两个应用中相同的逻辑你再考虑用别的方法复用。你一定要这样做的话,你就必须放弃所有ASP.NET提供的验证模块,自己实现一个新的HttpModule负责验证,因为一个请求来了同时要用两种逻辑验证这是ASP.NET不允许的,在新的IIS7里面也不允许这样做,你要做就必须自己从底层开始实现。
      

  19.   

    老大都说 只能采用一种验证方式了My-Blog地址1:http://www.cnblogs.com/nyzfl
    My-Blog地址2: http://blog.csdn.net/nyzfl
      

  20.   

    谢谢大家的帮助,首先我觉得这样的验证方式很奇怪,也没有必要,但是没有办法
    我只是个coder.只能去尽量完成任务!实在完不成就8 了
      

  21.   

    <location path="public.aspx">
    <system.web>
    <authorization>
    <allow user="*" /> <!-- 授权所有用户对 public.aspx 的访问-->
    </authorization>
    </system.web>
    </ocation><location path="publicFolder">
    <system.web>
    <authorization>
    <allow user="*" /> <!-- 授权所有用户对 publicFolder 文件夹 的访问-->
    </authorization>
    </system.web>
    </ocation>
      

  22.   

    可否这样。不采用windows集成身份验证。用户在第一次登录时,输入用户名(不用密码),程序把用户名信息记录在COOKIE里,cookie过期时间设为2020年。再次登录时,直接获取cookie中的用户名,对于普通用户,进入相关页面即可;对于管理员用户,可跳转到登录页面(需输入用户名和密码)。当然,如果担心篡改Cookie中的用户名,可先用MD5加密。想法不成熟,供讨论