EOS账户系统权限和action映射

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EOS账户系统权限和action映射相关的知识,希望对你有一定的参考价值。

1. 定义

可以将某个消息处理群组分配到某个权限级别上,或者反过来说,可以在某个权限级别上定义很多消息处理群组。
eg. 一个帐户所有者可以将自己社交媒体应用与自己的“朋友”权限群组建立映射。 有了这个映射,任何朋友可以以这一帐户的身份在这一帐户的社交媒体上发帖。 尽管他们将以帐户所有者的身份发帖,他们仍然使用自己的密钥来签名消息。 这意味着总是可以辨识出是哪一个朋友在以何种方式使用帐户。

2. 举例

  • 映射①:将@EXCHANGE.CONTRACT账户的所有Action映射到了FAMILY权限,也就是使用@USER用户的FAMILY权限(或者更高级权限)可以执行@EXCHANGE.CONTRACT账户的所有Action。

  • 映射②:将@EXCHANGE.CONTRACT账户的WITHDRAW(提现)Action映射到LAWYER权限,所以LAWYER权限可以执行WITHDRAW Action,但无法执行其他Action。

  • 映射③: TRADE GROUP 并没有特殊映射,不过因为@EXCHANGE.CONTRACT账户的所有Action都映射到了FAMILY权限,可以直接通过FAMILY权限执行,或者使用更高级的ACTIVE甚至OWNER权限执行。

2.1 Action的权限检查

如果@USER 账户想执行@EXCHANGE.CONTRACT/TRADE/BUY 这个 Action,系统会检查
@USER 账户是否定义了@EXCHANGE.CONTRACT/TRADE/BUY 映射,没有的话会检查@EXCHANGE.CONTRACT/TRADE映射

接着会检查@EXCHANGE.CONTRACT 映射,发现@EXCHANGE.CONTRACT 映射到了 FAMILY 权限,这时就会检查本次执行是否满足@USER.FAMILY权限(达到阈值),若FAMILY权限不足则会检查@USER.ACTIVE,接着会检查@USER.OWNER。

如果没有发现任何符合的映射,会直接检查本次执行是否满足@USER.ACTIVE权限,若不满足则会检查@USER.OWNER

以上是关于EOS账户系统权限和action映射的主要内容,如果未能解决你的问题,请参考以下文章

EOS账户系统账户的权限

EOS账户系统action分级

EOS账户权限修改及操作(action)绑定

EOS账户系统账户权限分级

EOS账户系统权限评估

EOS账户系统账户和钱包