节点。js选择硬朗是什么

  介绍

这篇文章主要介绍节点。js选择硬朗是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

选择硬朗是一个强大的、高效的开源访问控制框架,其权限管理机制支持多种访问控制模型。

<强>选择硬朗可以:

    <李>支持自定义请求的格式,默认的请求格式为{主体、客体、行动}。 <李>具有访问控制模型模型和策略政策两个核心概念。 <李>支持RBAC中的多层角色继承,不止主体可以有角色,资源也可以具有角色。 <李>支持超级用户,如根或管理员,超级用户可以不受授权策略的约束访问任意资源。 <李>支持多种内置的操作符,如keyMatch,方便对路径式的资源进行管理,如/foo/bar可以映射到/foo *

<强>选择硬朗不能:

    <李>身份认证认证(即验证用户的用户名:密码),选择硬朗只负责访问控制。应该有其他专门的组件负责身份认证,然后由选择硬朗进行访问控制,二者是相互配合的关系。 <李>管理用户列表或角色列表。选择硬朗认为由项目自身来管理用户,角色列表更为合适,用户通常有他们的密码,但是选择硬朗的设计思想并不是把它作为一个存储密码的容器。而是存储RBAC方案中用户和角色之间的映射关系。

casbin.org/docs/en/overview

# NPMnpm安装选择硬朗,保存# Yarnyarn添加选择硬朗

创建选择硬朗执行者需要一个模型文件和策略文件作为参数:

进口{newEnforcer} & # 39;选择硬朗# 39;;const执行者=等待newEnforcer (& # 39; basic_model.conf& # 39; & # 39; basic_policy.csv& # 39;);

您也可以用DB而不是文件中的策略来初始化执行者,详情请参阅适配器。

const子=& # 39;爱丽丝# 39;;//想要访问资源的用户.const obj=& # 39; data1 # 39;;//将要访问的资源.const行动=& # 39;读# 39;;//用户对资源执行的操作.const res=等待执行者。执行(子、obj, act);如果(res) {//允许爱丽丝读取数据其他1}{//拒绝请求,显示错误}

除了静态策略文件外,<代码> node-casbin> =等待enforcer.getRolesForUser const角色(& # 39;爱丽丝# 39;);

请参阅管理API和RBAC API以获取更多使用方式。

在选择硬朗中,访问控制模型被抽象为基于烫(政策、效果要求,匹配器)的一个文件,因此,切换或升级项目的授权机制与修改配置一样简单。您可以通过组合可用的模型来定制您自己的访问控制模型,例如,您可以在一个模型中获得RBAC角色和ABAC属性,并共享一组政策规则。

选择硬朗中最基本,最简单的模型是ACL.ACL中的模型配置为:

#请求定义[request_definition] r=子,obj,行动      #策略定义policy_definition p=子,obj,行动      #政策效应[policy_effect] e=((p。eft==允许)#匹配器(匹配器)m=r。子==p。子,,r。obj==p。obj,,r。==p。行为

ACL模型的示例政策如下:

p,爱丽丝,data1、阅读   p,鲍勃,data2写

这表示:

    <李>爱丽丝可以读取data1李 <李>鲍勃可以编写data2
    对于过长的单行配置,您也可以通过在结尾处添加“& # 39;进行断行:
#匹配器(匹配器)m=r。子==p。子,,r。obj==p。obj \   ,,r。==p。

此行动外,对于ABAC,您在可以在选择硬朗golang版本中尝试下面的(jCasbin和Node-Casbin尚不支持)操作:

#匹配器(匹配器)m=r。obj==p。obj,,r。==p。法| | r。obj (& # 39; data2 # 39; & # 39; data3& # 39;)

但是你应确保数组的长度大于<强> 1 强,否则的话将会导致恐慌。

对于更多操作,你可以查看govaluate。

以上是节点。js选择硬朗是什么的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

节点。js选择硬朗是什么