创建新用户

要开始测试我们程序中的访问控制,让我们创建一些新的用户身份并将这些用户分配给不同的角色。

1.进入项目目录。

2.通过运行以下命令来创建新的管理用户身份。

dfx identity new ic_admin

输出类似以下内容:

Creating identity: "ic_admin".
Created identity: "ic_admin".

3.调用my_role函数以查看您的新用户身份尚未分配的任何角色。

dfx --identity ic_admin canister call access_hello my_role

输出类似以下内容:

Creating a wallet canister on the local network.
The wallet canister on the "local" network for user "ic_admin" is "ryjl3-tyaaa-aaaaa-aaaba-cai"
(null)

4.通过运行以下命令,将当前活动用户切换为使用新的ic_admin用户身份,并显示与ic_admin用户关联的账户。

dfx identity use ic_admin && dfx identity get-principal

输出类似以下内容:

Using identity: "ic_admin".
c5wa6-3irl7-tuxuo-4vtyw-xsnhw-rv2a6-vcmdz-bzkca-vejmd-327zo-wae

5.通过运行以下命令,检查用于调用access_hello Canister的账户。

dfx canister call access_hello callerPrincipal

输出类似以下内容:

(principal "ryjl3-tyaaa-aaaaa-aaaba-cai")

默认情况下,Cycles钱包标识符是用于调用access_hello canister中的方法的账户。 但是,为了说明访问控制,我们要使用与用户关联的账户,而不是Cycles钱包。 不过,在进行此步骤之前,让我们为ic_admin用户分配一个角色。 为此,我们需要切换到具有所有者角色的默认用户身份。

最后更新于