EOS账户系统(6)权限和Action映射
1. 定義
可以將某個消息處理群組分配到某個權(quán)限級別上,或者反過來說,可以在某個權(quán)限級別上定義很多消息處理群組。
eg. 一個帳戶所有者可以將自己社交媒體應(yīng)用與自己的“朋友”權(quán)限群組建立映射。 有了這個映射,任何朋友可以以這一帳戶的身份在這一帳戶的社交媒體上發(fā)帖。 盡管他們將以帳戶所有者的身份發(fā)帖,他們?nèi)匀皇褂米约旱拿荑€來簽名消息。 這意味著總是可以辨識出是哪一個朋友在以何種方式使用帳戶。
2. 舉例
-
映射①:將@EXCHANGE.CONTRACT賬戶的所有Action映射到了FAMILY權(quán)限,也就是使用@USER用戶的FAMILY權(quán)限(或者更高級權(quán)限)可以執(zhí)行@EXCHANGE.CONTRACT賬戶的所有Action。
-
映射②:將@EXCHANGE.CONTRACT賬戶的WITHDRAW(提現(xiàn))Action映射到LAWYER權(quán)限,所以LAWYER權(quán)限可以執(zhí)行WITHDRAW Action,但無法執(zhí)行其他Action。
-
映射③: TRADE GROUP 并沒有特殊映射,不過因?yàn)?#64;EXCHANGE.CONTRACT賬戶的所有Action都映射到了FAMILY權(quán)限,可以直接通過FAMILY權(quán)限執(zhí)行,或者使用更高級的ACTIVE甚至OWNER權(quán)限執(zhí)行。
2.1 Action的權(quán)限檢查
如果@USER 賬戶想執(zhí)行@EXCHANGE.CONTRACT/TRADE/BUY 這個 Action,系統(tǒng)會檢查
@USER 賬戶是否定義了@EXCHANGE.CONTRACT/TRADE/BUY 映射,沒有的話會檢查@EXCHANGE.CONTRACT/TRADE映射
接著會檢查@EXCHANGE.CONTRACT 映射,發(fā)現(xiàn)@EXCHANGE.CONTRACT 映射到了 FAMILY 權(quán)限,這時就會檢查本次執(zhí)行是否滿足@USER.FAMILY權(quán)限(達(dá)到閾值),若FAMILY權(quán)限不足則會檢查@USER.ACTIVE,接著會檢查@USER.OWNER。
如果沒有發(fā)現(xiàn)任何符合的映射,會直接檢查本次執(zhí)行是否滿足@USER.ACTIVE權(quán)限,若不滿足則會檢查@USER.OWNER
總結(jié)
以上是生活随笔為你收集整理的EOS账户系统(6)权限和Action映射的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EOS账户系统(5)action分级
- 下一篇: EOS账户系统(7)权限评估