2015-03-03 5 views
5

के माध्यम से अन्य साइट पेजों तक पहुंचने का प्रयास करते हैं, तो मेरे पास एक वेबसाइट है, जहां मैं चाहता हूं कि उपयोगकर्ता "लॉगिन" पृष्ठ पर रीडायरेक्ट हों वे साइन इन नहीं हैं। उपयोगकर्ता यूआरएल पोस्ट करके वेबपृष्ठों तक पहुंचने का प्रयास कर सकते हैं। मैं इसे सी # एमवीसी 4.5मैं उन उपयोगकर्ताओं को रीडायरेक्ट कर सकता हूं, जो लॉग इन पेज में लॉग इन नहीं हैं, सी # एमवीसी 4.5 में अगर वे यूआरएल

यहां करना चाहता हूं, यहां तक ​​कि मैं साइन इन किए जाने तक "[अधिकृत]" उपलब्ध नहीं होना चाहता हूं। यह सूचकांक पृष्ठ देखने के लिए सूचकांक कार्रवाई है।

//Login Controller 
    [AllowAnonymous] 
    public ActionResult Index() 
    { 
     return View(); 
    } 
    [HttpPost] 
    public ActionResult Index(FormCollection frm) 
    { 
     ....//other code 
    } 

[Authorize] 
public ActionResult Index() 
    { 
     List<DTO> obj = objConfigurator.GetDataList(); 
     return View(obj); 
    } 


    public ActionResult Edit(int Id) 
    { 
     DTO obj = objC.GetListById(Id); 
     return View(obj); 
    } 

उत्तर

10

अपने नियंत्रक पर [Authorize] विशेषता का उपयोग करें।

<system.web> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Login" timeout="2880" /> 
    </authentication> 
</system.web> 

आप किसी अन्य, और भी बेहतर विकल्प होता है, Global.asax फ़ाइल में वैश्विक फिल्टर के रूप में AuthorizeAttribute रजिस्टर करने के लिए -

[Authorize] 
public class YourController: Controller 
{ 
. . . 
    [AllowAnonymous] 
    public ActionResult Register() 
    { 
    } 

    [AllowAnonymous] 
    public ActionResult LogIn() 
    { 
    } 
. . . 
} 

इसके अलावा, आप web.config में अपने प्रवेश पृष्ठ जोड़ने के लिए।

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 

{ 
    .... 
    filters.Add(new System.Web.Mvc.AuthorizeAttribute()); 
} 

इस तरह, आप केवल था आप anonimous उपयोगकर्ताओं द्वारा देखे गए होना चाहते हैं कार्यों के [AllowAnonymous] आवेदन करना होगा।

+0

मैंने इसका उपयोग करने की कोशिश की, लेकिन फिर मैं अपनी साइट के किसी भी पेज तक नहीं पहुंच पा रहा हूं। – Pranav

+0

जो भी आपने कोशिश की है उसका शेयर कोड – Nikitesh

+0

मेरा संपादित उत्तर देखें। – vortex

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