2013-01-02 45 views
14

Xin lỗi cho câu hỏi noob. Chỉ mới bắt đầu học servicestack. Tôi đang sử dụng một ứng dụng giao diện điều khiển tự lưu trữ với Razor cho công cụ xem của tôi, plugin "RegistrationFeature" cho đăng ký và CredentialsAuthProvider để xác thực thông qua biểu mẫu đăng bài để cho phép người dùng đăng nhập.Cách đăng xuất người dùng đã xác thực trong ServiceStack?

Ứng dụng SocialBootStrap sử dụng MVC 3 và thực hiện "FormsAuthentication.SignOut()" để cho phép người dùng đăng xuất. Cho rằng tôi đang sử dụng một ứng dụng tự lưu trữ, tôi tạo ra một LogoutService mà chỉ đơn giản là một Request.RemoveSession() và xuất hiện để làm việc.

Đây có phải là cách đúng để đăng xuất phiên của người dùng không?

Trả lời

25

Có dịch vụ đăng xuất rõ ràng tức là /auth/logout là một phần của số ServiceStack's Authentication support mà bạn nên sử dụng thay thế.

Bạn có thể làm một GET hoặc POST để /auth/logout hoặc nếu bạn đang sử dụng C# khách hàng mà bạn có thể đăng xuất với:

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

Cảm ơn bạn, wow chưa tới 20 phút để nhận được câu trả lời :)! –

+2

Bạn được chào đón :) Câu hỏi này chỉ xảy ra khi tôi đang thực hiện các vòng tuần hoàn - bạn sẽ không luôn may mắn như vậy :) – mythz

+1

Lưu ý rằng dịch vụ phép thuật này không được tham chiếu ở bất kỳ đâu (hoặc ít nhất là không) Trang wiki xác thực. – jklemmack

5

On ServiceStack v4, bạn sẽ cần dòng này để thay thế.

client.Post(new Authenticate { provider = AuthenticateService.LogoutAction }); 
Các vấn đề liên quan