मैं क्या ASP.NET MVC में एक साधारण लॉगऑन प्रपत्र होना चाहिए के साथ एक समस्या का सामना कर रहा हूँ 2. अनिवार्य रूप से मेरी फार्म इस तरह एक छोटे से कुछ लग रहा है मैं लॉगऑन क्रिया विधि पर एक RequiresHTTPS फिल्टर है, लेकिन जब वह निष्पादित मैं निम्न संदेशASP.NET MVC HTML.BeginForm और एसएसएल
,210प्राप्त अनुरोध किया गया संसाधन केवल SSL के माध्यम से पहुँचा जा सकता है
इस बिंदु एकमात्र समाधान है कि काम पर एक अतिरिक्त कार्रवाई htmlattribute में पारित करने के लिए इस प्रकार थी:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
हालांकि यह काम करता है मुझे आश्चर्य है कि एक) मैं क्यों पहली जगह में इस मुद्दे को देख रहा हूँ और ख) अगर वहाँ http पृष्ठ से https पर पोस्ट करने का एक और सीधा तरीका है?
[संपादित करें]
मैं ने कहा है चाहिए कि लॉगऑन लटकती कई सार्वजनिक पृष्ठों पर उपलब्ध हो जाएगा। मैं नहीं चाहता कि मेरे सभी पेज HTTPS हों। उदाहरण के लिए, मेरा आशा पृष्ठ - जो कोई भी देख सकता है - HTTPS आधारित नहीं होना चाहिए। अनिवार्य रूप से मुझे अपने फॉर्म में प्रोटोकॉल निर्दिष्ट करने की आवश्यकता है, लेकिन यह नहीं पता कि यह कैसे करना है, या यदि यह संभव है।
मैं किसी भी सलाह/सुझाव की सराहना करता हूं। अग्रिम
जेपी
इसके साथ समस्या यह है कि आपके फॉर्म के लिए कोई फॉर्म कॉन्टेक्स्ट नहीं बनाया गया है, इसलिए सभी एचटीएमएल इनपुट हेल्पर्स आपके दृश्य मॉडल से जुड़े सत्यापन विशेषताओं को जोड़ नहीं पाएंगे ... –
ब्रैड जे द्वारा नीचे दिए गए उत्तर को देखें। यह सुरक्षित नहीं है! – Null