为noob问题道歉。刚刚开始学习servicestack。我正在使用Razor的自托管控制台应用程序作为我的视图引擎,注册的“RegistrationFeature”插件和CredentialsAuthProvider通过表单发布以允许用户登录进行身份验证。
SocialBootStrap应用程序使用MVC 3并执行“FormsAuthentication.SignOut()”以允许用户注销。鉴于我正在使用自托管应用程序,我创建了一个LogoutService,它只执行Request.RemoveSession()并且看起来有效。
这是注销用户会话的正确方法吗?
答案 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 });