immusen
- immusen 2019-05-05 已签到连续签到1天,获得了5个金钱
- immusen 2019-04-30 已签到连续签到4天,获得了20个金钱
- immusen 回答了问题 关于 swoole 结合 Yii 的问题
swoole的websocket握手有默认机制,但你也是能有机会附加操作的(onHandShake回调中,你一样能像HTTP那样加自定义Header或者path_info的方式携带额外数据),这是你可以验证用户身份的第一次时机;
第二次时机,连接成功后,客户端用你自己约定的方式发token给服务器(rpc、json....),完成验证(Who am i)。
验证后绑定:$server->bind($fd,$uid)绑到connection_info上,之后随时能$Server->getClientInfo()取回uid。 - immusen 回答了问题 关于 swoole 结合 Yii 的问题
Yii::$app->user->identity
里的 user 默认是yii\web\user
,
在swoole的worker里面运行的话:一般的做法是重写yii\web\user的login
方法,改成不依赖cookie(至于依赖什么,得看你在websocket登录的解决方案,有各种变通、组合方案,说来话长),然后确保在你Yii::$app->user->identity
之前调用过login;
中级做法是uid绑fd,然后根据业务需求拿uid操作缓存、数据库;
高级的做法是用swoole会话期对象在会话期保持机制...
还挺好玩儿的..改天我做一个Demo.. - immusen 2019-04-29 已签到连续签到3天,获得了15个金钱
- immusen 2019-04-28 已签到连续签到2天,获得了10个金钱
- immusen 2019-04-27 已签到连续签到1天,获得了5个金钱
- immusen 2019-04-25 已签到连续签到1天,获得了5个金钱