2012-10-20 15 views
5

(मैं, शुद्ध एस एस परियोजना के बारे में बात कर रहा हूँ कृपया MVC रेजर के साथ भ्रमित होने की नहीं)ServiceStack उस्तरा दृश्य

हम एक एस एस उस्तरा करने के लिए यात्रा कैसे की सीमा है प्रमाणीकरण के साथ देखने के लिए प्रमाणीकरण डाल?

यही है, हम एसएस रेजर से उपयोगकर्ता सत्र और ऑथ कोड कैसे कॉल करते हैं?

मैं कुछ इस तरह करना चाहते हैं:

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

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

उत्तर

3

मैं एक एस एस उस्तरा पृष्ठ से सीधे यह करने के लिए किसी भी विधि के बारे में पता नहीं कर रहा हूँ। हालांकि, जब मुझे एक ही दुविधा थी, तो मैंने इसे एक सेवा बनाकर हल किया जो इसके बजाय पृष्ठ परोसता था। इस तरह आप पेज की सेवा Authorize विशेषता के साथ सजाने के लिए कर सकते हैं और यदि उपयोगकर्ता प्रमाणीकृत नहीं है तो इसे लॉगिन पृष्ठ पर रीडायरेक्ट कर दिया जाएगा।

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

उस्तरा पेज में वर्तमान सत्र को पुनः प्राप्त करने के लिए आप GetSession<T> उपयोग कर सकते हैं।

@{ 
    var currentSession = GetSession<CustomUserSession>(); 
} 

<div>Hello @currentSession.UserName</div> 

इसका एक अन्य लाभ यह है कि आप दृढ़ता से टाइप किए गए दृश्य प्राप्त कर सकते हैं और सेवा से दृश्य के लिए डेटा प्रदान कर सकते हैं।

@inherits ViewPage<MyPageViewModel> 
+0

सबसे पहले, उत्तर के लिए बहुत बहुत धन्यवाद। जब आप कहते हैं "एक सेवा इंटरफ़ेस का उपयोग करें" तो क्या आपका मतलब है, "प्रमाणीकरण सेवा" जैसी बेस क्लास बनाएं, फिर "MyService" का वारिस करें। MyService: प्रमाणीकरण सेवा, प्रमाणीकरण रीस्पॉन्स भी है: IhasResponseStatus तो MyResponse: प्रमाणीकरण प्रतिक्रिया ... जैसे? – Tom

+0

@ टॉम, वहां खराब शब्द का इस्तेमाल किया। मेरा मतलब था कि एक सेवा बनाना था। मैंने जवाब संपादित किया। – Ostemar

+0

धन्यवाद। मुझे ये अब मिला। – Tom

संबंधित मुद्दे