Обрезка безопасности ссылок в asp.net mvc


Я хотел бы показать некоторые ссылки только для аутентифицированных пользователей в asp.net веб-приложение mvc.

  • я использую шаблон для asp.net веб-приложение mvc в Visual Studio 2008, вышедшее в бета-версии asp.net mvc.
  • я использую аутентификацию форм.
  • я хотел бы добавить что-то вроде следующего к существующему представлению:
<a href="/Account/ChangePassword">Change password</a>

И показывать ссылку только тем пользователям, которые вошли в систему.

Как это сделать проще всего? Я бы например, что-то такое же простое, как обрезка безопасности в интернете.Карта сайта, с которой я пробовал asp.net веб-формы. (Можно ли это использовать с mvc? Или это только для веб-форм?)

4 2

4 ответа:

Должно сработать следующее. Вам также нужно будет сделать что-то подобное в действии контроллера для этого в случае, если пользователь вводит URL вручную в своем браузере. Или, как вы говорите, вы можете ограничить доступ к действию в интернете.конфиг.

 <% if (HttpContext.Current.Request.IsAuthenticated) { %>
    <a href="/Account/ChangePassword">Change password</a>
 <% } %>

Вы можете создать пользовательский SiteMapProvider, например:

Построение ASP.NET поставщик MVC sitemap с обрезкой безопасности

Показать ссылку Изменить пароль

Показать ссылку входа

Вы можете просто это просто так:

Сменить пароль