你是不是在配置文件里有
<authentication mode="Forms" />
    <forms name =".----" loginUrl="..." ....../></forms>
</authentication>

解决方案 »

  1.   

    B下的web.config文件:
    <authentication mode="Forms" />
        <forms name ="ABApp" loginUrl="Login.aspx" ....../></forms>
    </authentication>
    在login.asp中重定向到AppLogin.aspx
    然后你在B应用程序的web.config的的name跟上面的一样,即:
    <authentication mode="Forms" />
        <forms name ="ABApp" loginUrl="Login.aspx" ....../></forms>
    </authentication>这样就可以实现不论你在那个应用程序中验证了,在另一个应用程序中都不需要再验证了
      

  2.   

    再请问几点:
    1.在web.config的配置中,name的属性值相同起到了什么作用?
    2.按这种方法实现single sign-on的原理是什么?
    3.应用程序检查验证信息的流程如何?是否从global文件开始?
    谢谢了!
      

  3.   

    实际上,我的目的是:假设有若干应用程序A,B...;我想以A作为启动程序,用户在A中登陆之后,可以进一步选择要登陆的其他程序。对每个其他程序,在登陆的时候,我将临时为其生成一个token并存放在数据库中。对这些程序,都有自己的Login.aspx和AppLogin.aspx。
    在启动程序A中,将有一个连接定向到其他程序http://localhost/XXX/AppLogin.aspx?token="@token"。在AppLogin.aspx的后台代码中,将接收token并在数据库中验证token,若成功则可获得用户票据并存入Application中,然后定向到程序的Default.aspx。
    现在的问题是:我一旦访问XXX/AppLogin.aspx,立即重定向到XXX/Login.aspx,于是,出现了登陆界面。请问:我该如何做配置呢?
    是否在forms和machineKey元素上,所有应用程序需要什么统一或其他?
    谢谢!