solidity中先登入后操作权限问题

问题遇到的现象和发生背景

二手交易平台中需要先登入再进行发布和购买商品

遇到的现象和发生背景,请写出第一个错误信息

solidity中不知如何在发布商品函数处写入登入权限

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

// 登入事件
event sign_In(address _address, string message);

function signIn(address _address, uint256 _password) public returns (bool) {
    if (
        _address == customerMapping[_address].customerAdd &&
        _password == customerMapping[_address].password
    ) {
        emit sign_In(_address, "登入成功");
        return true;
    } else if (
        _address == customerMapping[_address].customerAdd &&
        _password != customerMapping[_address].password
    ) {
        emit sign_In(_address, "密码错误,登入失败");
        return false;
    } else if (_address != customerMapping[_address].customerAdd) {
        emit sign_In(_address, "该账号未注册,请先注册账号");
        return false;
    }
}

// 发布商品

// 发布商品事件
event release_Goods(uint256 _id, string _name, string _message);

function releaseGoods(
    address _address,
    uint256 _id,
    string _name,
    uint256 _price,
    uint256 _showTime
) public onlyOwner {
    // bool success = signIn(_address, _password);
}
运行结果及详细报错内容

无~

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

尝试利用函数修饰符和require进行限制,但使用后进行商品发布时需要输入登入密码,操作繁琐

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

简单快速实现先登入后操作问题

设定一个map,key为address,value为布尔值。
登录成功后设定该地址的value为true。

能否使用一个外部服务进行登录,调用外部服务进行验证,然后服务返回一个token凭证,表示登录状态,然后solidity这边验证这个凭证token,效率高一些.