ASP.NET MVC - ActionFilterAttribute zur Validierung der POST-Daten

Eigentlich habe ich eine Anwendung, die eine WebService zum abrufen von einigen Kunden Informationen.
Also ich war die überprüfung der login-Daten in meinem ActionResult wie:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ClientLogin(FormCollection collection)
{
    if(Client.validate(collection["username"], collection["password"]))
    {
        Session["username"] = collection["username"];
        Session["password"] = collection["password"];
        return View("valid");
    }
    else
    {
       Session["username"] = "";
       Session["password"] = "";
       return View("invalid");
    }
}

Dem Client.Validate() ist eine Methode, die einen booleschen Wert zurückgibt, basierend auf der information, die auf der POST Benutzername und Passwort

Aber ich habe meine Meinung geändert und ich möchte, dass schöne ActionFilterAttributes am Anfang der Methode, so wird es nur dargestellt werden, wenn der Client.validate() true zurückgibt, wird nur das gleiche wie [Autorisieren], aber mit meinem custom webservice, so hätte ich etwas wie:

[AcceptVerbs(HttpVerbs.Post)]
[ValidateAsClient(username=postedUsername,password=postedPassword)]
//Pass Posted username and password to ValidateAsClient Class
//If returns true render the view
public ActionResult ClientLogin()
{
    return View('valid')
}

und anschließend in die ValidateAsClient ich hätte so etwas wie:

public class ValidateAsClient : ActionFilterAttribute
{
    public string username { get; set; }
    public string password { get; set; }

    public Boolean ValidateAsClient()
    {
        return Client.validate(username,password);
    }
}

Also mein problem ist, ich weiß nicht genau, wie es funktioniert, denn ich weiß nicht, wie das passieren der veröffentlichten Informationen zu den [ValidateAsClient(username=postedUsername,password=postedPassword)] und außerdem, wie könnte ich die Funktion ValidateAsClient richtig funktioniert?

Ich hoffe das ist leicht zu verstehen
Vielen Dank im Voraus

InformationsquelleAutor zanona | 2009-10-21
Schreibe einen Kommentar