C# SharePoint中的FBA登录页问题
我有一个自定义登录代码的FBA sharepoint网站(见下文)。当用户登录到外部系统时,我将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站点,是否有任何方法可以完成登录过
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();