EOS账户系统(6)权限和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账户系统(6)权限和Action映射的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EOS账户系统(5)action分级
- 下一篇: EOS账户系统(7)权限评估