加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 4如何根据角色提供不同的HTML?

发布时间:2020-12-16 07:19:35 所属栏目:asp.Net 来源:网络整理
导读:除了允许某些角色访问某些Controller或Action之外,我想根据角色提供稍微不同的 HTML. 例如,管理员可以看到编辑按钮,同时对于其他用户,此编辑按钮将不在那里.它可能比这更复杂,例如某些角色可以编辑但不能删除..等等. MVC 4中是否有框架来执行此操作? 这里的
除了允许某些角色访问某些Controller或Action之外,我想根据角色提供稍微不同的 HTML.

例如,管理员可以看到编辑按钮,同时对于其他用户,此编辑按钮将不在那里.它可能比这更复杂,例如某些角色可以编辑但不能删除..等等.

MVC 4中是否有框架来执行此操作?

这里的问题似乎很有意思,ASP.NET MVC Alternatively Rendering EditorFor Based on User Role

但我不确定这是否是正确的方法.

解决方法

对于菜单,请考虑使用 MVCSiteMapProvider,与其他SiteMapProviders一样,可以将其配置为使用“安全修整”,即仅显示当前用户有权使用的节点.即站点地图可用于生成菜单,该菜单将自动遵守控制器和操作上的Authorize属性.

要获得控件的可见性(编辑按钮,删除按钮等),请在模型中添加布尔属性:CanEdit,CanDelete等,并让控制器根据用户的角色(User.IsInRole)填充它们.

关注点分离表明您不应直接在View中访问角色.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读