Усиление безопасности ссылок в asp.net mvc - PullRequest
2 голосов
/ 29 ноября 2008

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

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

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

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

Ответы [ 4 ]

4 голосов
/ 29 января 2009

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

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

3 голосов
/ 29 ноября 2008

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

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

3 голосов
/ 29 ноября 2008

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

 <% if (HttpContext.Current.Request.IsAuthenticated) { %>
    <a href="/Account/ChangePassword">Change password</a>
 <% } %>
2 голосов
/ 29 ноября 2008

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

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