联系官方销售客服

1835022288

028-61286886

求助 版主:官方研发技术组
登录流程步骤缺失,询问正常流程步骤
类型:迅睿CMS 更新时间:2023-04-18 11:26:09 开发者模式

重写了一个登录的类来满足业务需求,但是手动保存cookie之后,跳转到用户的个人中心页面提示我开发者模式:登录超时。这边是少执行了一个步骤吗。

private function _xxx_login(array $row){
    // TODO: 实现登录效果

    // TODO: 处理数据

    // TODO: 记录cookie
    $member = new save_data();
    return $member->save_cookie($row);

}
public function save_cookie($data, $remember = 0)
{
    parent::save_cookie($data, SITE_LOGIN_TIME); // TODO: Change the autogenerated stub
    $this->_login_log($data,"xxx");
    return dr_return_data(1, 'ok', [
            'auth'=> md5($data['password'].$data['salt']), // API认证字符串,
            'member' => $this->get_member($data['id']),
            'sso' => $this->sso($data, $remember)]
    );
}

image

image

回帖
  • #1楼    迅睿框架创始人
    2023-04-18 11:04:40
    Google Pixel 手机 0
    看图片你是用api接口来登录吗,如果是肯就不对了,如果不是建议使用登录后的钩子,你的程序写在钩子里面
  • CCCCox
    #2楼    CCCCox
    2023-04-18 11:15:42
    Chrome 0
    回复迅睿框架创始人 使用的是Member中的控制器写的,主要想达成的目的是,通过多次鉴权实现自动登录账号
  • #3楼    迅睿框架创始人
    2023-04-18 11:18:12
    Google Pixel 手机 0
    你想实现自动登录,那需要在cms_init的钩子里面开发就行了,不必你这样绕弯了参考文档:《主程序运行之后 cms_init》
    \Phpcmf\Hooks::app_on('appname', 'cms_init', function() {
        // 在网站初始化之后(不适用于静态页面)
        
        if (!\Phpcmf\Service::C()->uid) {
            // 表示未登录
            \Phpcmf\Service::C()->uid = 9; // 设置新登录的id号
            \Phpcmf\Service::C()->member = 数组;  // 设置新登录的member表数组
       }
    });
    满意答案
  • CCCCox
    #4楼    CCCCox
    2023-04-18 11:26:09
    Chrome 0
    迅睿框架创始人:非常感谢官方回复