C# SharePoint中的FBA登录页问题

C# SharePoint中的FBA登录页问题,c#,asp.net,sharepoint,fba,C#,Asp.net,Sharepoint,Fba,我有一个自定义登录代码的FBA sharepoint网站(见下文)。当用户登录到外部系统时,我将Cookie值传递到FormsAuthentication.RedirectFromLoginPage(用户名,false)。在这里以前都很好用 问题是,如果用户离开系统并使用不同的用户id注销和登录,然后来到我的SharePoint站点,则会跳过登录过程,并使用旧id(而不是新的登录id)登录 如果用户键入sharepoint站点url并重定向到sharepoint站点,是否有任何方法可以完成登录过

我有一个自定义登录代码的FBA sharepoint网站(见下文)。当用户登录到外部系统时,我将
Cookie
值传递到
FormsAuthentication.RedirectFromLoginPage(用户名,false)。在这里以前都很好用

问题是,如果用户离开系统并使用不同的用户id注销和登录,然后来到我的SharePoint站点,则会跳过登录过程,并使用旧id(而不是新的登录id)登录

如果用户键入sharepoint站点url并重定向到sharepoint站点,是否有任何方法可以完成登录过程

请大师帮帮我

    try
    {
        if (Request.Cookies[authCookie].Value.Length > 0 || Request.Cookies[authCookie].Value != null || Request.Cookies[authCookie].Value != "")
        {
            userName = Request.Cookies[authCookie].Value;
        }
    }
    catch (Exception ex)
    {
        Response.Redirect("https://qa.company.com/appssecured/login/servlet/LoginServlet?TARGET_URL=" + Request.Url);
    }
    if (true)
    {
        userName = Request.Cookies[authCookie].Value;
        FormsAuthentication.RedirectFromLoginPage(userName, false);
    }
Web.Config

为什么不使用

FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();

这将正确清除cookie并重定向到登录页面。

会话结束时,听起来您没有正确清除cookie。存在用于会话结束的应用程序级事件。但是,如果您想获得更即时的响应,您可能必须主动清除用户会话。服务器端会话状态的寿命为20m,但可在web中配置。配置用户需要在
qa.company.com
网站上注销:这可以通过链接到“自动注销”页面自动完成(在目标站点上,然后转发到最终Url)。记住,cookie(auth/session)是每个域,因此登录/注销一个域不会本质上影响另一个域。有federation/Office365和其他魔法来启用广泛的SSO,但这是另一个怪兽。为什么每次登录站点时登录页面都不调用?您是否使用/u layouts/SignOut.aspx?如果是,那么它应该为您清除cookies。。
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();