我正在寻找创建一个安全修剪(基本上如果你没有权限不要渲染)Html.RenderAction。
目的是显示各种小部件/页面组件,如果该人没有对该操作的权限,则不会调用 RenderAction(或至少不会导致重定向到登录页面)。例如,该页面显示给所有登录的用户。但是,有些部分仅适用于人力资源、业务发展,如果您从事人力资源和业务发展,您将获得这两个部分等。
RenderAction 调用的每个部分都是独立的,因此这意味着我可以轻松地制作包含所有必需部分的页面,但如果用户不被允许,它们就不会显示。如果我为某人无权执行的操作调用 RenderAction,则会导致他们被重定向到登录页面。
我已经看到对链接做了类似的事情,但是有人对 Actions 做了类似的事情吗?
我希望得到类似的东西:
@Html.RenderSecurityTrimmedAction("Main","Business-Widget1")
@Html.RenderSecurityTrimmedAction("Main","HR-Widget")
@Html.RenderSecurityTrimmedAction("Main","General-Widget3")
其中小部件访问基于人员当前角色。我的安全访问工作完美。它主要是创建一个 RenderAction,如果用户没有权限,它不会随意运行 Action
我想保持代码干燥,所以我不想携带大量 ViewModel 属性,然后不得不将每个 Html.RenderAction 包装在 if 语句中。这些组件会出现在很多地方,所以我希望它们是即插即用的。