OnR*_*lve 3 authorization roles asp.net-mvc-4
我们在[Authorize (Roles="yadda, yadda2")]控制器上使用了这个属性,我想知道是否有一个内置机制来发现他们是否可以从视图访问?
[Authorize (Roles="System Administrator, Administrator")]
public abstract class OperationsBaseContoller : BaseController
{
// omitted
}
// some view
@if(HasAccessTo<OperationsBaseController>())
{
<a href="#somewhereInOperations">Operations Action</a>
<a href="#anotherInOps">Example</a>
<a href="#oneMore">filler</a>
}
Run Code Online (Sandbox Code Playgroud)
像上面这样的东西会很棒,所以我可以避免渲染无法传递给他们的链接.我不是,但是,想要把列表中可用角色的观点再次在User.IsInRole("...."),因为这似乎是一个维护/重复代码的噩梦.我想如果他们给了我们属性,他们还给出了从视图中检查它的内置方法.
如果没有(我自己找不到),我会写自己的,但想避免潜在的车轮改造.
有一些有用的扩展方法可以实现这一点
Html.ActionAuthorized
Html.ActionLinkAuthorized
Run Code Online (Sandbox Code Playgroud)
发表于
http://vivien-chevallier.com/Articles/create-an-authorized-action-link-extension-for-aspnet-mvc-3
在本文中,我将解释如何创建可识别授权的操作链接扩展,以便我们可以根据其授权隐藏或禁用操作链接.
| 归档时间: |
|
| 查看次数: |
2487 次 |
| 最近记录: |