【问题标题】:Custom Role Provider with ASP.net MVC -- Changing Roles使用 ASP.net MVC 的自定义角色提供程序——更改角色
【发布时间】:2014-10-09 23:25:16
【问题描述】:

朋友们,

在以下情况下寻求帮助:

系统的用户具有多个角色——角色 A 和角色 B。

使用角色 A -- 用户可以访问视图 -- PageA、PageB。

使用角色 B -- 用户可以访问视图 -- PageP、PageQ。

我有一个具有两个角色的用户——角色 A 和角色 B,默认角色为角色 A。 问题:当用户以角色和默认角色作为角色登录系统时,用户应该能够访问视图——PageA 和 PageB。我想在布局中有一个下拉菜单来显示该用户的角色。当下拉列表中的角色更改为角色 B 时,用户应该能够访问视图 PageP 和 PageQ,反之亦然。

是否可以通过 Asp.Net MVC 使用自定义角色提供程序和 windows 身份验证来做到这一点?

欢迎提出任何想法。

提前致谢, 直流

【问题讨论】:

    标签: c# asp.net asp.net-mvc roleprovider


    【解决方案1】:

    角色提供者的幕后 - 如果请求新页面,用户分配的角色将保存在当前线程的 IPrincipal 中。它发生在页面生命周期的早期阶段。

    您不应在页面生命周期的中间删除/分配角色给 IPrincipal。

    当下拉列表中的角色更改为角色 B 时,用户应该是 能够访问视图 PageP 和 PageQ,反之亦然。

    为了实现它,你不想操作 IPrincipal 对象。

    请使用简单的逻辑,例如

    1. 将用户分配的角色填充到 DropDownList
    2. 如果选择角色 A,则显示 PageA、PageB
    3. 如果选择角色 B,则显示 PageP、PageQ

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2011-06-04
      相关资源
      最近更新 更多