MVC 3 Перенаправление AuthorizeAttribute с настраиваемым сообщением

Как я могу создать настраиваемый атрибут AuthorizeAttribute, который задает сообщение в форме строкового параметра и затем передает его на страницу входа?

Например, в идеале было бы здорово сделать следующее:

[Authorize(Message = "Access to the blah blah function requires login. Please login or create an account")]
public ActionResult SomeAction()
{
    return View();
}

Затем в действии входа в систему я мог бы сделать что-то вроде этого:

public ActionResult Login(string message = "")
{
    ViewData.Message = message;

    return View();
}

И, наконец, в представлении я могу сделать это:

@if (!String.IsNullOrEmpty(ViewData.Message))
{
    <div class="message">@ViewData.Message</div>
}

<form> blah blah </form>

В основном я хочу передать настраиваемое сообщение на страницу входа, чтобы я мог отобразить сообщение зависит от того, к чему пользователь пытается получить доступ в данный конкретный момент.

15
задан Scott 7 May 2011 в 17:34
поделиться