Вопрос

Я хотел бы показать некоторые ссылки только пользователям, прошедшим проверку подлинности в веб-приложении ASP.NET в MVC.

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

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

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

Это было полезно?

Решение

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

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

Другие советы

Вы могли бы создать пользовательский SiteMapProvider, подобный этому:

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

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

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

Вы можете просто перейти только к этому:

Сменить пароль
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top