Настройка безопасности ссылок в asp.net mvc
-
11-07-2019 - |
Вопрос
Я хотел бы показать некоторые ссылки только пользователям, прошедшим проверку подлинности в веб-приложении 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 с настройкой безопасности
показать ссылку для смены пароля
показать ссылку для входа в систему
Вы можете просто перейти только к этому:
Сменить пароль