代码之家  ›  专栏  ›  技术社区  ›  AlvinfromDiaspar

使用MEF处理带导航框架的授权/用户访问

  •  1
  • AlvinfromDiaspar  · 技术社区  · 14 年前

    我想我现在开始了解如何使用MEF了。但我仍然不确定使用MEF来处理控制用户访问的最佳方式。

    例如:im使用Silverlight导航框架。如果某个特定用户对每个导航菜单项拥有权限(例如角色、声明),则该菜单项要么被禁用,要么根本不显示。

    现在我知道我可以设置isEnabled属性来禁用它们,但我希望使用更优雅/更灵活的方法。

    总结这一点: -每个菜单项都需要是一个MEF模块扩展(因此,对于没有权限访问它的用户,它甚至不会被下载)。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Daniel Plaisted    14 年前

    如果您希望采用这样的设计:如果用户没有权限,您实际上不下载扩展,那么您可以将每个扩展放在单独的xap中,并且只下载用户有权访问的xap(使用deploymentcatalog)。需要有一个Xap列表以及每个Xap所需的权限,要么嵌入到主Xap中,要么作为服务器上某种类型的服务。

        2
  •  0
  •   silverfighter    14 年前

    您可以向模块或MEF部件提供元数据。 元数据可以包含角色或许可证密钥,例如…

    Lazy<T,TMeta> 你可以决定你是想要进入模块还是部分…