Обрезка ссылочной безопасности в 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 с усечением безопасности