如何在ServiceStack中注销经过身份验证的用户?

时间:2013-01-02 04:34:56

标签: servicestack

为noob问题道歉。刚刚开始学习servicestack。我正在使用Razor的自托管控制台应用程序作为我的视图引擎,注册的“RegistrationFeature”插件和CredentialsAuthProvider通过表单发布以允许用户登录进行身份验证。

SocialBootStrap应用程序使用MVC 3并执行“FormsAuthentication.SignOut()”以允许用户注销。鉴于我正在使用自托管应用程序,我创建了一个LogoutService,它只执行Request.RemoveSession()并且看起来有效。

这是注销用户会话的正确方法吗?

2 个答案:

答案 0 :(得分:26)

有一个明确的退出服务,即/auth/logout,作为您应该使用的ServiceStack's Authentication support的一部分。

您可以对/auth/logout进行GET或POST,或者如果您正在使用C#客户端,则可以使用以下命令注销:

client.Post(new Authenticate { provider = "logout" });

答案 1 :(得分:6)

在ServiceStack v4上,您将需要此行。

client.Post(new Authenticate { provider = AuthenticateService.LogoutAction });