Если ссылка Action отключена, как сделать ее недоступной через URL в MVC3 - PullRequest
0 голосов
/ 17 августа 2011

На мой взгляд, я отключаю или включаю ссылки, как показано ниже.Даже если ссылка «Смена застрахованного лица или имя владельца» в представлении отключена, я могу получить к ней доступ через URL-адрес, например «http://localhost:0000/NameChangeRequest?contract=111111"», чего не должно быть. Кто-нибудь может мне помочь в этом?

           @if (Model.CanCreateNameChangeRequest)
                    {
                        @Html.ActionLink("Insured or Owner Name Change", "Index", "NameChangeRequest", new { @contract = Model.ContractNumber }, new { @class = "requestLink" });
                    }
                    else
                    {
                        <span class="requestLinkDisabled">Insured or Owner Name Change</span>
                    }

1 Ответ

0 голосов
/ 17 августа 2011

Вы никогда не должны использовать Views для управления доступом или любой другой природой бизнес-логики.Представление должно иметь только логику и разметку уровня представления.

Тем не менее, вы можете сделать это в действии "NameChangeRequestController" -> "Index":

public ActionResult Index()
{
    if(!Model.CanCreateNameChangeRequest)
        RedirectToAction("Index","Home");
}

Также это выглядиточень похоже на разрешения на основе ролей, в этом случае вы должны использовать атрибут «[Authorize]» вместе с «IsInRole».

...