2013-01-02 62 views
14

爲noob問題道歉。剛開始學習服務堆棧。我正在爲我的視圖引擎使用Razor的自託管控制檯應用程序,註冊的「RegistrationFeature」插件和CredentialsAuthProvider通過表單發佈進行身份驗證以允許用戶登錄。如何註銷ServiceStack中的已驗證用戶?

SocialBootStrap應用程序使用MVC 3並執行「FormsAuthentication.SignOut()」以允許用戶註銷。鑑於我正在使用自託管的應用程序,我創建了一個簡單地執行Request.RemoveSession()並且似乎可以工作的LogoutService。

這是註銷用戶會話的正確方法嗎?

回答

25

有一個顯式的註銷服務,即/auth/logout作爲ServiceStack's Authentication support的一部分,您應該改用它。

你可以做一個GET或POST到/auth/logout,或者如果您正在使用C#的客戶端,你可以用註銷:

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

謝謝哇,那20分鐘以內才能得到答案:)! –

+2

不客氣:)這個Q恰好在那裏,當我正在做我的定期回合 - 你不會總是那麼幸運:) – mythz

+1

請注意,這個神奇的服務沒有引用任何地方(或至少沒有更多)的身份驗證wiki頁面。 – jklemmack

5

在ServiceStack V4,你需要這條線來代替。

client.Post(new Authenticate { provider = AuthenticateService.LogoutAction }); 
相關問題