2012-02-08 59 views
0

我正在写一个ASP.MVC应用程序,我知道你可以在cotrollers上使用授权过滤器来控制对页面的访问,但是我想知道如果你想控制对部分视图中受保护数据的访问,最好的方法是什么。ASP.MVC权限:有没有办法控制部分内容?

从我读的ASP.MVC不提供这个粒度级别。

通过向模型添加用户权限作为属性,然后使用简单的工厂来决定是应该渲染视图还是返回空白视图,这似乎很容易。

到目前为止,我有

的RenderPartial(PartialFactory.IsAllowedToRender( “partialName”,Model.Security),型号)

和工厂或者返回请求的视图或空白局部视图。

有没有人尝试在此之前或知道为什么没有人做这个(除了额外的努力)

回答

0

我们与扩展方法的HtmlHelper同样做。

RenderPartialIfExists等。如果您经常需要某些东西,请不要羞愧。

这样做,没有扩展,因为你也有效,但它不是干净的阅读。另外,考虑将您的安全信息添加到HttpContext.Current.Items,这样您就不必一直将它传递到模型中,而需要利用它的任何东西,助手,控制器等都可以轻松访问它,你只需要在请求开始时取回它。

+0

非常感谢,保持它的模型会更清洁 – user1197563 2012-02-09 06:27:24

相关问题