2013-10-29 16 views
6

के साथ काम नहीं कर रहा है मैं ओविन का उपयोग करके अपने सिर को पाने की कोशिश कर रहा हूं। मैंने दो एमवीसी 5 परियोजनाएं बनाई हैं। एक Aspnet.Identity का उपयोग प्रमाणीकरण के साथ और दूसरा एक खाली परियोजना के रूप में शुरू किया।एमवीसी 5 लॉगिन पृष्ठ पर रीडायरेक्ट ओविन

मैं emptyp परियोजना के लिए निम्न कहा:

एक लॉग इन कार्रवाई के साथ
  • खाता नियंत्रक और coresponding दृश्य

  • Startup.cs और

के साथ एक और आंशिक Startup.cs
public partial class Startup 
{ 
     public void ConfigureAuth(IAppBuilder app) 
     { 
      app.UseCookieAuthentication(new CookieAuthenticationOptions 
      { 
       AuthenticationType = "ApplicationCookie", 
       LoginPath = new PathString("/Account/Login") 
      }); 
     } 
    } 

मैंने होम नियंत्रक में [एडमिनिस्ट्रेटर 'के बारे में कार्रवाई को सजाया है ize] दोनों परियोजनाओं में विशेषता।

जब मैं पहली परियोजना चलाता हूं और इसमें लॉग इन करने से पहले स्क्रीन पर जाता हूं तो यह अपेक्षित रूप से लॉगिन कार्रवाई पर रीडायरेक्ट करता है। जब मैं दूसरी परियोजना के लिए ऐसा करता हूं तो मुझे रीडायरेक्ट करने के बजाय "HTTP त्रुटि 401.0 - अनधिकृत" मिलता है।

कोई विचार क्या दूसरे व्यक्ति को इस तरह से व्यवहार करने का कारण होगा?

+1

आप web.config तुलना में है दो परियोजनाओं के बीच? –

+0

मैंने दो web.config फ़ाइलों की तुलना की है, लेकिन मैं इसे फिर से करूँगा और रिपोर्ट करूँगा ... – Jeff

+0

@AlexDresko, मदद के लिए धन्यवाद। मुझे web.config में कुछ अंतर मिले जो मुझे कल याद आया। दुर्भाग्य से यह समस्या को हल करने में मदद नहीं की। – Jeff

उत्तर

5

मैंने दो नई समान परियोजनाएं बनाई हैं और आपकी त्रुटि को पुन: उत्पन्न करने में सक्षम थीं।

रिक्त प्रोजेक्ट में, मुझे Microsoft.Owin.Host.SystemWeb (Nuget के माध्यम से) स्थापित करना पड़ा और एक बार मैंने ऐसा करने के बाद, मुझे अपने Startup.cs क्लास में त्रुटियों का एक गुच्छा मिल रहा था। इस के साथ समाप्त हुई:

[assembly: OwinStartupAttribute(typeof(v2.Startup))] 
namespace v2 
{ 
    public partial class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      ConfigureAuth(app); 
     } 

     public void ConfigureAuth(IAppBuilder app) 
     { 
      app.UseCookieAuthentication(new CookieAuthenticationOptions 
      { 
       AuthenticationType = "ApplicationCookie", 
       LoginPath = new PathString("/Account/Login") 
      }); 
     } 
    } 
} 

अंत में, मैं अब से टकराने/मेरी लॉग इन दृश्य देखकर जब मैं के बारे में() विधि [Authorize] विशेषता के साथ सजाया फोन करने में सक्षम हूँ।

आशा है कि इससे मदद मिलती है! विन्स

+2

इसे आजमाने के लिए समय बिताने के लिए धन्यवाद। मैंने फिर से साफ करना शुरू कर दिया और अंततः दो अलग-अलग समस्याओं को ट्रैक करने में सक्षम था। एक प्रोजेक्ट में जिस पर मैं कोशिश कर रहा था, मेरे पास कुकी प्रमाणीकरण विकल्प में "प्रमाणीकरण मोड = प्रमाणीकरण मोड। पासिव" था। यह कुछ और कोशिश कर रहा था जो मैं कोशिश कर रहा था। एक और प्रोजेक्ट में मैं Startup.ConfigureAuth() को Startup.Configuration() से कॉल करना भूल गया था! तो मूल रूप से दो लापरवाही गलतियों। मैं ट्रैक पर वापस आ गया हूं और अगले अंक को समझने की कोशिश कर रहा हूं .... – Jeff

+0

न्यूजेट अपडेट ने इसे मेरे लिए तय किया – Scott

+0

क्या यह एक बग है? – Jakov

6

प्रति ASP.NET MVC 5 Web.config: "FormsAuthenticationModule" or "FormsAuthentication"

<system.webServer> 
    <modules> 
     <remove name="FormsAuthentication" /> 
    </modules> 
</system.webServer> 
अतिरिक्त सुरक्षा मैं दोनों में "टाइपो" हैंडलर छोड़ दिया के लिए

(मामले में माइक्रोसॉफ्ट इसे बाद में मुझे देने में परिवर्तन)

<system.webServer> 
    <modules> 
    <remove name="FormsAuthenticationModule" /> 
    <remove name="FormsAuthentication" /> 
    </modules> 
</system.webServer> 
+0

कोड की यह पंक्ति क्या करेगी <हटाएं नाम = "फॉर्म प्रमाणीकरण" /> – User

+0

मेरे उत्तर में दिए गए लिंक पर क्लिक करें जहां इसे समझाया गया है। मेरा जवाब भी हटा दिया गया था, इसलिए यह पहले नहीं था। –

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

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