Действия MVC, я должен создать 2 действия для входа? - PullRequest
1 голос
/ 14 ноября 2008

В asp.net mvc я хочу создать действие для входа в систему.

Вот как я это делаю:

  1. создать действие / представление с именем login, которое просто отображает представление.

  2. создайте другое действие с именем login2, которое будет страницей, которая обрабатывает сообщение формы и проверяет базу данных, если имя пользователя / пароль верны. Если это так, перенаправьте на некоторую страницу, если нет, перенаправьте обратно на страницу входа с соответствующим сообщением об ошибке.

Это лучший способ сделать это?

Ответы [ 3 ]

5 голосов
/ 14 ноября 2008

Вы можете создать два действия входа в систему: одно для просмотра и одно для отправки формы. Затем украсьте их атрибутом AcceptVerbs, чтобы описать, какой метод они примут. Смотрите здесь пример http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

1 голос
/ 08 мая 2009

Вот шаблон, который я использую:

    /// <summary>
    /// Displays the Login screen the first time
    /// to anyone who wishes to view it.
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Login()
    {
        return View();
    }

    /// <summary>
    /// Handles the form postback
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs(HttpVerbs.Post)]
    [ValidateAntiForgeryToken]
    public ActionResult Login(string name, 
                              string password, 
                              string ReturnUrl)
    {
        // perform authentication here

        if (string.IsNullOrEmpty(ReturnUrl))
            return RedirectToAction("Index", "Main");

        return Redirect(ReturnUrl);
    }
0 голосов
/ 14 ноября 2008

Я согласен с Крейгом; однако, если вы хотите сделать это каким-либо другим способом, вам следует придумать некоторые соглашения об именах, чтобы дифференцировать ваши ActionMethods и придерживаться их.

До просмотра 5 я использовал

логин => аутентифицироваться создать => вставить редактировать => обновить

и т.д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...