2012-10-20 29 views
5

(MVC Razor ile karıştırılmamalıdır lütfen saf SS projesi bahsediyorum)ServiceStack Jilet görünümü

nasıl kimlik doğrulama ile görüntülemek bir SS Razor ziyareti sınırı mı hiç Authentication koydu?

SS Razor'dan kullanıcı oturumu ve kimlik doğrulama kodunu nasıl arayabiliriz?

ben böyle bir şey yapmak istiyorsunuz:

@inherits ViewPage 
@Authenticate(RedirectUrl = "/Login") 

<div>Hello @UserSession.UserName</div> 
<div>You are in the secured area now</div> 

cevap

3

Bir SS Jilet sayfadan doğrudan bunu yapmak için herhangi bir yöntemle farkında değilim. Ancak, aynı ikilemi yaşadığımda, sayfayı yerine getiren bir hizmet oluşturarak çözdüm. Bu şekilde, sayfanın hizmetini Authorize özniteliği ile dekore edebilirsiniz ve kullanıcı kimliği doğrulanmamışsa giriş sayfasına yönlendirilir. Eğer GetSession<T> kullanabilirsiniz

[Authorize] 
public class MyPageService : IService<MyRequestDTO> 
{ 
    public object Execute(MyRequestDTO request) 
    { 
     ... 
     return new MyPageViewModel(); 
    } 
} 

jilet sayfasında güncel oturumu almak için.

Bunun bir başka avantajı, güçlü yazılan bir görünüm elde edebilmek ve hizmetten görünüm için veri sağlamanızdır.

@inherits ViewPage<MyPageViewModel> 
+0

İlk olarak, yanıt için çok teşekkürler. "Hizmet arabirimi kullan" derken, "AuthenticateService" gibi bir temel sınıf yapmak, sonra "MyService" bunu miras aldığınızı kastediyorsunuz. MyService: AuthenticateService, ayrıca AuthenticateResponse: IhasResponseStatus ve ardından MyResponse: AuthenticateResponse ... gibi mi? – Tom

+0

@ Tom, orada kötü ifadeler kullandı. Demek istediğim bir hizmet yaratmaktı. Cevabı ben düzenledim. – Ostemar

+0

Teşekkürler. Şimdi anladım. – Tom