На самом деле у меня есть приложение, которое использует WebService для получения информации о некоторых клиентах. Итак, я проверял информацию для входа в свой ActionResult, например:
[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");
}
}
Где Client.Validate() — это метод, который возвращает логическое значение на основе информации, предоставленной для имени пользователя и пароля POST.
Но я передумал и хотел бы использовать эти приятные атрибуты ActionFilterAttributes в начале метода, чтобы он просто отображался, если Client.validate() возвращает true, точно так же, как [Authorize], но с моей пользовательской веб-службой, поэтому У меня было бы что-то вроде:
[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')
}
а затем внутри ValidateAsClient у меня будет что-то вроде:
public class ValidateAsClient : ActionFilterAttribute
{
public string username { get; set; }
public string password { get; set; }
public Boolean ValidateAsClient()
{
return Client.validate(username,password);
}
}
Итак, моя проблема в том, что я точно не знаю, как заставить это работать, потому что я не знаю, как передать ОТПРАВЛЕННУЮ информацию в [ValidateAsClient(username=postedUsername,password=postedPassword)] а также, как я могу заставить функцию ValidateAsClient работать правильно?
Я надеюсь, что это легко понять Спасибо заранее