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

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

  • Я использую шаблон для веб-приложения asp.net mvc в Visual Studio 2008, поставляемого с бета-версией asp.net mvc.
  • Я использую формы аутентификации.
  • Я хотел бы добавить что-то вроде следующего в существующее представление:
 Изменить пароль

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

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

4 ответа

Решение

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

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

Вы можете создать собственный SiteMapProvider, как этот:

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

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

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

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

Изменить пароль
Другие вопросы по тегам