在 SP2010 中使用表单身份验证注销

发布于 2024-09-19 16:30:22 字数 343 浏览 5 评论 0原文

我已经在 SP 2010 中使用基于声明的身份验证配置了一个 Intranet,并使用基于表单的身份验证配置了一个扩展的互联网站点

。除了注销之外,所有设置都已设置完毕并正常工作...

我有一个登录状态控件,我已在登录模板内放置了一个链接按钮。 当我单击注销按钮时,我使用了:

 Session.Abandon();
        Response.Cookies.Clear();
        FormsAuthentication.SignOut();

和自定义重定向。 〜但是,当我被重定向回主页时,系统仍然显示我已登录并且我在网站上导航。我还能如何强制注销?

I have configured an intranet using Claims based authentication and an extended internet site using forms based authentication in SP 2010

All is set up and working except logging out...

I have a loginstatus control which I have placed a linkbutton inside the loggedin template.
When I click the button to log out, I have used:

 Session.Abandon();
        Response.Cookies.Clear();
        FormsAuthentication.SignOut();

And a custom redirect.
~However when I get redirected back to my home page the system still says that Im logged in and I navigate around the site. How else do I force a logout?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墨落画卷 2024-09-26 16:30:29

请参阅 Sanjay Bhagia 的这篇文章

loginStatus.LoggingOut += new LoginCancelEventHandler(loginStatus_LoggingOut);

,在注销事件中,我使用此代码注销用户。

FederatedAuthentication.SessionAuthenticationModule.SignOut();
//WSFederationAuthenticationModule.FederatedSignOut();
WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;
SPUtility.Redirect(WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(authModule.Issuer, authModule.Realm, null), SPRedirectFlags.Default, HttpContext.Current);

因为,对于声明,用户不再使用 FormsAuthentication 进行身份验证,而是使用联合身份验证,因此我们需要从联合中注销该用户。这段代码对我有用!

See this post by Sanjay Bhagia

loginStatus.LoggingOut += new LoginCancelEventHandler(loginStatus_LoggingOut);

and in logout event, i used this code to logout the user.

FederatedAuthentication.SessionAuthenticationModule.SignOut();
//WSFederationAuthenticationModule.FederatedSignOut();
WSFederationAuthenticationModule authModule = FederatedAuthentication.WSFederationAuthenticationModule;
SPUtility.Redirect(WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(authModule.Issuer, authModule.Realm, null), SPRedirectFlags.Default, HttpContext.Current);

as, with Claims, user is not authenticated with FormsAuthentication anymore rather with Federated Authentication, so we need to sign out this user from Federation. This piece of code worked for me!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文