उम्मीद है कि मैं अन्य उत्तरों पर कुछ अतिरिक्त स्पष्टता जोड़ सकता हूं क्योंकि वे वास्तव में यह नहीं बताते कि क्या हो रहा है जो आपके भ्रम की सहायता नहीं करेगा।
सबसे पहले, अपने कस्टम प्रदाता को लागू जो बातें आप पहले से ही किया है, तो मैं बस एक छोटे से कोड स्निपेट फेंक देंगे और किसी भी आगे विस्तार यहाँ पर नहीं जाऊंगा की आवाज से:
using System.Web.Security;
public class MyCustomMembershipProvider : MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
if (username.Equals("BenAlabaster") && password.Equals("Elephant"))
return true;
return false;
}
/* Override all the other methods required to extend MembershipProvider */
}
<membership defaultProvider="MyCustomMembershipProvider">
<providers>
<clear />
<add name="MyCustomMembershipProvider"
type="MyNamespace.MyCustomMembershipProvider"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="10"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/" />
</providers>
</membership>
अगले बिट मुझे लगता है कि आप overthinking कर रहे हैं, वास्तविक टाई-इन के लिए अपने वेब आवेदन:
तो फिर तुम विशेषताओं है कि आधार MembershipProvider कॉन्फ़िगर पॉप्युलेट करने के लिए सुनिश्चित करने के अपने web.config में अपने प्रदाता कॉन्फ़िगर । जबकि वेबफॉर्म ऐप में आपको अपने लिए बाकी को कोड करना होगा - एमवीसी फ्रेमवर्क आपके लिए बाकी करता है - आपको बस अपनी क्रिया विधि में [अधिकृत] विशेषता जोड़ना है और ढांचा यह देखने के लिए जांच करेगा कि क्या आप लॉग इन किया गया है, और यदि आपको लॉगिन पेज पर रीडायरेक्ट नहीं किया गया है। क्योंकि है कि क्या web.config में कॉन्फ़िगर किया गया है और में अपना उपयोगकर्ता प्रवेश करेंगे प्रवेश पृष्ठ अपने कस्टम प्रदाता मिलेगा आप उपयोगकर्ता वस्तु को संदर्भित करके अपने नियंत्रक से उपयोगकर्ता के प्रवेश के बारे में जानकारी का उपयोग कर सकते हैं:।
public class WhateverController : Controller
{
[Authorize]
public ActionResult WhateverAction()
{
ViewData["LoggedInAs"] = string.Format("You are logged in as {0}.", User.Identity.Name);
Return View();
}
}
इसलिए इस कार्रवाई के लिए आवश्यक है कि उपयोगकर्ता लॉग इन हो और पेज पर प्रदर्शित होने वाले जो भी/जो भीएक्शन.एएसपीएक्स दृश्य को उपयोगकर्ता जानकारी प्रस्तुत करता हो।
ठीक है, यह समझ में आता है - इसे साफ़ करने के लिए धन्यवाद। मैं बस दो और दो एक साथ नहीं डाल रहा था। मैं अभी भी उस वेबफॉर्म फ्रेम में फंस गया हूं और यह पता नहीं लगाया गया है कि एमवीसी मेरे लिए क्या करता है और जब मुझे इसे अपने लिए संभालना पड़ता है। – BobTheBuilder