我期待创建一个安全修剪(基本上,如果你没有权限不呈现)Html.RenderAction。如何实现安全修剪的Html.RenderAction?
目标是显示各种小部件/页面组件,并且如果该人没有对RenderAction没有调用的操作权限(或者至少不会导致重定向到登录页面)。例如,该页面显示给所有登录用户。然而,只有人力资源,业务发展的部分,如果你在人力资源和业务发展,你会得到两个部分等。
RenderAction调用的每个部分是独立的,所以这意味着我可以轻松地制作页面包含所有必需部件,但如果用户不被允许,则不显示。如果我将RenderAction称为某人没有权限的操作,则会导致他们被重定向到登录页面。
我已经看到类似的链接,但任何人都做了类似的行为?
我希望能得到这样的:
@Html.RenderSecurityTrimmedAction("Main","Business-Widget1")
@Html.RenderSecurityTrimmedAction("Main","HR-Widget")
@Html.RenderSecurityTrimmedAction("Main","General-Widget3")
当微件访问是基于人的当前角色。我有安全访问完美工作。它主要是创建一个RenderAction,如果用户没有任何操作,它不会一直运行Action
我想保留代码DRY,所以我不想携带很多ViewModel属性,然后不得不自动换行if语句中的每个Html.RenderAction。这些组件会出现在各种地方,所以我希望它们能够即插即用。
对不起。我的意思是说他们可以被授权不具备适当的角色。应该已经被清除器 – GraemeMiller
然后扩展if()与另一个条件:helper.ViewContext.HttpContext.User.IsInRole(“barbarian”) – Dima
然后我必须在助手中定义角色。这些角色正在修改授权操作中的控制器操作,所以我不想再配置它们。只是意味着在两个地方维护它们,所以不是干的。谢谢 – GraemeMiller