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

Ame*_*een 14 servicestack

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

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

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

myt*_*thz 26

有一个显式的注销服务,即/auth/logout作为ServiceStack的身份验证支持的一部分,您应该使用它.

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

client.Post(new Authenticate { provider = "logout" });
Run Code Online (Sandbox Code Playgroud)

  • 你很受欢迎:)当我做我的定期巡视时,这个Q恰好就在那里 - 你永远不会那么幸运:) (2认同)

lab*_*lbe 6

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

client.Post(new Authenticate { provider = AuthenticateService.LogoutAction });
Run Code Online (Sandbox Code Playgroud)