मेरे पास एक एएसपी एमवीसी 3 आरामदायक सेवा है जो मूल प्रमाणीकरण का उपयोग करती है। स्टैक ओवरफ़्लो खोजने के बाद, मैंने निम्न कोड बनाया।एएसपी एमवीसी 3 एक्शनफिल्टर मूल प्रमाणीकरण के लिए
public class BasicAuthentication : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var req = filterContext.HttpContext.Request;
if (String.IsNullOrEmpty(req.Headers["Authorization"]))
{
filterContext.Result = new HttpNotFoundResult();
}
else
{
var credentials = System.Text.ASCIIEncoding.ASCII
.GetString(Convert.FromBase64String(req.Headers["Authorization"].Substring(6)))
.Split(':');
var user = new { Name = credentials[0], Password = credentials[1] };
if(!(user.Name == "username" && user.Password == "passwords"))
{
filterContext.Result = new HttpNotFoundResult();
}
}
}
}
1) क्या कोई एक्शनफ़िल्टर एट्रिब्यूट ऐसा करने का सबसे अच्छा तरीका है?
2) फ़िल्टर कॉन्टेक्स्ट सेटिंग है। नियंत्रक विधि तक पहुंच से इनकार करने का सही तरीका सही है?
3) क्या कुछ भी गलत है?
धन्यवाद।
-Nick
आप बुनियादी (दो चरण प्रमाणीकरण) के साथ प्रपत्र/कस्टम प्रकार प्रमाणन या अभी भी डोमेन खातों का उपयोग करने के लिए बुनियादी उपयोग कर रहे हैं? –