链接asp.net mvc中的安全修整

时间:2008-11-29 13:31:46

标签: .net asp.net-mvc sitemap security-trimming

我想在asp.net mvc Web应用程序中仅向经过身份验证的用户显示一些链接。

  • 我在asp.net mvc测试版附带的Visual Studio 2008中使用该模板作为asp.net mvc Web应用程序。
  • 我使用表单身份验证。
  • 我想在现有视图中添加以下内容:
<a href="/Account/ChangePassword">Change password</a>

并仅显示指向已登录用户的链接。

最简单的方法是什么?我想要一些简单的安全修整web.sitemap,我已尝试使用asp.net Web表单。 (这可以和mvc一起使用吗?还是只适用于网络表单?)

4 个答案:

答案 0 :(得分:4)

你可以像这样构建一个自定义的SiteMapProvider:

Building an ASP.NET MVC sitemap provider with security trimming

答案 1 :(得分:3)

以下内容应该有效。如果用户在浏览器中手动输入URL,您还需要在控制器操作中执行类似的操作。或者,正如您所说,您可以限制对web.config中操作的访问。

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

答案 2 :(得分:3)

显示更改密码链接

  

显示登录链接

答案 3 :(得分:2)

你可以简单地说就是这样:

      Change password