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映射的主要内容,如果未能解决你的问题,请参考以下文章