【问题标题】:Extending ASP.NET Role provider in MVC在 MVC 中扩展 ASP.NET 角色提供程序
【发布时间】:2011-06-08 12:35:15
【问题描述】:

我想知道这是否可以做到,是否有什么地方可以为我指明正确的方向。

目前,基本上,我正在使用 asp.net 的内置角色提供程序,在我的控制器操作中,我使用了 here. 所述的自定义属性过滤器

但我想做的是进一步扩展它来做这样的事情:

管理员 - 查看、编辑、删除

经理 - 查看、编辑

基本上,细粒度的权限。我在网上搜索过,但如果不编写自己的身份验证/授权提供程序,似乎找不到任何方法:(

任何帮助将不胜感激!

干杯, 尼克

【问题讨论】:

    标签: asp.net asp.net-mvc-3 roleprovider


    【解决方案1】:

    有几种方法可以解决这个问题。最简单(但不一定是最好)的方法是使用导航元素的部分视图,查看/编辑/删除以及围绕每个链接检查当前用户角色的 if 语句。

    另外,在频谱的另一端是称为AzMan(Microsoft 的授权管理器)的东西,它允许您创建非常精细的角色和基于任务的授权。

    AzMan 已经存在很长时间了,但据我所知,它现在已并入 MS 的 enterprise library

    【讨论】:

    • AzMan 的问题是您需要通过 MMC 来管理它,我不热衷于这样做。我希望它通过后端进行管理。我理解您使用部分视图的意思,但我希望这些“任务”是可管理的,因此您实际上可以创建一个全新的角色并对其进行自定义。
    • 虽然 AzMan 可以通过 MMC 进行管理,但您可以通过编程方式对其进行管理。 MMC 管理单元提供的所有内容都可以通过代码访问。 AzMan MMC 只是数据库表的一个接口,它本质上是标准成员提供程序的扩展。
    • AzMan 是否仅限 Windows 用户使用,ASP.NET 会员用户可以使用吗?
    • 不,不限于 Windows 用户。据我记得,MMC 将允许您将 Windows 用户数据导入数据库,以便您可以通过成员资格和角色提供程序访问用户数据。但是,您也可以使用 AzMan 使用 web 表单、mvc、windows 表单等创建非 Windows 用户,并将数据存储在同一个数据库中。 AzMan 只是基本 .Net 会员提供程序的一个更复杂、更灵活的扩展。
    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2014-10-15
    • 1970-01-01
    • 2015-05-18
    相关资源
    最近更新 更多