标签: user-roles

Drupal:如何实现一个比正常和自己的主题更少权限的SECOND管理员?

我目前正在尝试在drupal中实现第二个(较低的)管理层.我已经通过同名模块为这些用户创建了一个额外的部分,因此他们可以拥有自己的主题等.我想给这些第二或更低的管理员一个菜单在他们可以访问某些管理功能的页面部分管理其他用户和某些类型的内容等.我遇到的最大问题是安全性不一致,例如第二个管理员可以使自己成为一个完整的管理员,因为我使用drupals自己的核心管理员功能,而无法弄清楚如何永久阻止某些功能但允许其他人.在这种情况下,我想让第二个管理员能够创建和更改低级别用户的角色,而不是他自己,但无法更改或创建真正的管理员.这只是问题的一部分,但是,较小的问题是我无法为第二个管理部分保留我的主题集,而不必复制现有的管理员视图(如用户和内容的那些)并将重复项设置为我的部分下的路径.有什么建议?

drupal admin function user-roles

5
推荐指数
1
解决办法
332
查看次数

单元测试(mvc) - 带角色的问题

我有mvc应用程序,我正在使用poco对象和编写单元测试.问题是当我们到达这行代码Roles.IsUserInRole("someUser","role")时,我的所有测试都失败了.我应该为角色或......实现新的界面或存储库吗?谢谢

asp.net-mvc unit-testing security-roles user-roles

5
推荐指数
1
解决办法
2753
查看次数

什么是干净/干燥的方式来显示用户内容的可用操作?

使用ASP.NET MVC 3(Razor)应用程序,主要关注UGC(用户生成的内容).

我正在开发一个"Q&A"区域 - 用户可以提问,其他人可以回答,投票等.

因此,我正在尝试找出一种干净的方法来处理用户可以根据其角色和其他因素在任何给定页面上执行的可用操作.

采用"问题详细信息页面"的方案(如Stack Overflow上的此页面).

任何(已验证的)用户都可以:

  • 投票回答问题/答案
  • 回答

问题拥有者可以:

  • 编辑
  • 删除
  • 马克回答

等等.

现在,我有一个QuestionViewModel,用于显示此特定视图的问题和相关答案.

我使用AutoMapper创建它.

如何根据可用的操作在页面上显示"胶粘物"(例如超链接)?

我目前的想法是:

  • 我创建一个枚举:( QuestionOperation答案,编辑,禁用,投票,答案等)
  • 我将一个类型的属性添加IEnumerable<QuestionOperation>到我的ViewModel
  • 我在我的操作方法(HTTP GET)中设置了这个属性,检查用户是否经过身份验证以及他们所属的角色.
  • 然后我使用编辑器模板将每个操作渲染为超链接,使用 Html.ActionLink

这被认为是一种干净的方法 - 或者任何人都可以提出更好的方法?

请记住,我QuestionViewModel在三页上重复使用它:

  1. 问题详细信息页面
  2. "提问"页面
  3. "编辑问题"页面

因为这些操作依赖于页面/用户,所以使用AutoMapper无法实现.

asp.net-mvc viewmodel user-roles razor asp.net-mvc-3

5
推荐指数
1
解决办法
169
查看次数

如何实现基于角色的访问控制Java/MySql?

我计划开始一个涉及用户注册的基于Web的项目,就像论坛/ CMS一样,但我的障碍是我不知道如何实现所谓的基于角色的访问控制.

我搜索了"基于角色的访问控制",我在结果书中找到了关于:Design Patters的信息.

这与我需要的有关吗?是否有关于实现这个想法的教程?是数据库端还是语言编程端的实现?

任何参考?任何头衔?

java user-controls access-control user-roles

5
推荐指数
1
解决办法
5241
查看次数

ASP.net Identity 2.1为所有用户提供角色

如何获取用户列表,包括每个用户的角色名称?我的应用程序具有MVC项目的默认表.

我能够使用Identity 2.1检索所有用户,如下所示:

模型

public class GetVendorViewModel
{
    public IList<ApplicationUser> Vendors { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

调节器

public ActionResult Index()
        {

            var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
            var roleStore = new RoleStore<IdentityRole>(ac);
            var roleManager = new RoleManager<IdentityRole>(roleStore);
            var vendor = roleManager.FindByName("Vendor").Users;
            var model = new GetVendorViewModel { Vendors = vendor };
            return View("~/Views/User/Administrator/Vendor/Index.cshtml", model);
        }
Run Code Online (Sandbox Code Playgroud)

现在回来了:

[
   {
      UserId: "4f9ed316-a852-45a9-93a8-a337a37b1c74",
      RoleId: "a17bb59c-285a-43f9-b5ad-65f46f94bb4f"
   }
]
Run Code Online (Sandbox Code Playgroud)

这是正确的,但我需要显示用户信息,如姓名,电子邮件,用户名等.

我想像这样返回一个json对象:

[
  {
    UserId: "4f9ed316-a852-45a9-93a8-a337a37b1c74",
    RoleId: "a17bb59c-285a-43f9-b5ad-65f46f94bb4f"
    RoleName: "Administrator"
    User: {
            name:"Joe Doe",
            email:"jd@mail.com", …
Run Code Online (Sandbox Code Playgroud)

user-roles asp.net-identity asp.net-identity-2

5
推荐指数
1
解决办法
5346
查看次数

如何根据用户角色隐藏具有给定类别的WooCommerce产品

我有一个客户端有以下问题:

我需要能够将他们的WooCommerce WordPress网站分为两类.如果用户以a身份登录"Wholeseller",则只会从数据库中提取该"Wholesale"类别中的产品.

但是,如果用户未登录或已登录但未登录"Wholeseller",则只会从数据库中删除没有该"Wholesale"类别的产品.

我想我会在主题functions.php文件中添加这样的东西:

add_filter("some_woocommerce_hook", "wholeseller_filter");

function wholeseller_filter() {
    if (current_user->role == "Wholeseller"){
        //omit products without "wholesale" category while browsing whole site
    } else { 
        //omit products with "wholesale" in the category while browsing whole site.
    }
}
Run Code Online (Sandbox Code Playgroud)

我浏览了StackOverflow,但是我还没找到我正在寻找的内容,或者非常清楚我应该使用哪些关键字进行搜索.

你能为我指出正确的方向吗?

php wordpress categories user-roles woocommerce

5
推荐指数
1
解决办法
4934
查看次数

Laravel Passport 在 oauth/token API 中发送动态令牌范围

我有 user_master 表、role_master 表和一个名为 user_roles 的子表,其中包含用户 id 和角色 id 的引用,指示哪个用户属于哪个角色。

我还有一张权限表,它指示哪些权限属于哪些角色。

例如:


用户主表:

id 用户_主密码

约翰一书 some_md5

2 简 some_md5


role_master 表:

id 角色名称

1 管理员

2 数据输入操作员


用户角色:

id 用户_id 角色_id

1 1 1

2 2 2


权限:

id 权限_名称 角色_id

1 内容.创建 1

2 内容.创建 2

3内容.删除1

Laravel Passport 令牌范围文档中,提到我们可以在 中传递令牌范围AuthServiceProviderAuthServiceProvider但在这种情况下,角色和权限范围是动态的,因此从数据库表加载它们是最佳实践吗?

oauth/tokenAPI 中,我们应该传递范围。但根据这个动态示例,我们不能将 * 作为范围传递,因为某些角色的可访问性有限,而某些角色可以访问所有内容。因此,一旦我们从网络/移动应用程序发送了用户名和密码POST,那么我们如何传递范围,因为在oauth/token触发之前,我们不会有用户角色和范围信息。

任何帮助真的很感激。谢谢!

user-roles user-permissions laravel laravel-passport

5
推荐指数
0
解决办法
881
查看次数

DDD架构中与按角色用户过滤数据相关的查询逻辑应该放在哪里

我的应用程序遵循 DDD 架构。我有应用程序层、领域层和数据访问层(存储库)。假设我的应用程序中有 3 个角色:管理员、主管、代理机构。每个角色都应该访问分配给自己的数据。所以问题是,我应该放置查询逻辑以便按存储库中的角色过滤数据吗?

var query = dataContext.Order.Where(...);
if(userRole = "admin")
query =.... filter by admin
If(usrRole = "supervisor")
query =.... 
return query.ToList();
Run Code Online (Sandbox Code Playgroud)

我认为与业务逻辑相关的逻辑应该放在领域层。但这个我还没有搞清楚。你们能为我解决这个问题吗?

c# architecture domain-driven-design repository-design user-roles

5
推荐指数
1
解决办法
1870
查看次数

在Entrust中分配新角色

作为我的"批准"流程的一部分,我希望管理员根据需要为用户分配不同的角色.

我想"分离"用户当前的角色并添加一个新角色.

$id = Input::get('submit');
$user = User::where('id','=', $id)->first();
$user->attachRole(2);

$user->save();
Run Code Online (Sandbox Code Playgroud)

上面的代码获取了我想要重新分配角色的用户ID,然后是分配了新角色的attachRole,但是我无法删除之前的代码.

但是,它不会删除用户之前分配给它的角色.

$user->detachRole(USER ID HERE);
Run Code Online (Sandbox Code Playgroud)

似乎不起作用.

唯一的问题是,如果它在'Role'表中,我可以使用$ user-> roles() - > delete(类似的东西),其中角色的用户分配在'assigned_roles'表中.

任何帮助将非常感激.

php user-roles laravel laravel-4

4
推荐指数
1
解决办法
2165
查看次数

如何允许 Kubernetes 中的特定部署进行端口转发?

我试图允许我的组织中的一些用户将端口转发到 Kubernetes 中的生产命名空间。但是,我不希望他们能够将端口转发到所有服务。我想限制仅访问某些服务。这可能吗?

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: allow-port-forward-for-deployment-a
rules:
- apiGroups: [""]
  resources: ["pods/portforward"]
  verbs: ["get", "list", "create"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: allow-port-forward-for-deployment-a
  namespace: production
subjects:
- kind: User
  name: "xyz@org.com"
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: allow-port-forward-for-deployment-a
  apiGroup: rbac.authorization.k8s.io
Run Code Online (Sandbox Code Playgroud)

上面的设置允许所有服务,但我不想要这样。

rbac user-roles kubernetes

4
推荐指数
1
解决办法
1万
查看次数