当前位置: 首页 > 知识库问答 >
问题:

函数的作用是:注销用户

钱焕
2023-03-14

我创建了一个自定义登录和自定义中间件,当我试图死转储任何地方它注销用户似乎是什么问题?

登录控制器:公共功能登录(请求$Request){

// flash::success('Succesfully login')->important();

$client = new Client();
  try {
    $res = $client->request('POST', 'http://api.fstbx.com/api/user/login', [
      'headers' => [
             'Accept' => 'application/json',
             'Client-Key' => 'p947KVCgE7PyXLdZpfqOSIg4OwIla2BWdSPzdoqf'
         ],
      'form_params' => [
        'username' => $request->get('username'),
        'password' => $request->get('password')
      ]
    ]);
  } catch (\Exception $e) {
    Flash::error('Invalid login credentials.');
    return redirect('/login');
  }



  $info = json_decode((string) $res->getBody(), true);      
  $request->session()->put('authUser',$info['user']);
  $request->session()->put('authToken',$info['access_token']);
  $request->session()->put('authRole',['1','2']);

  $role = [];
  $role = ['1','2'];

  $user =  User::createAuth($info['user'],$info['access_token'],$role);

  return redirect('/');

}

定义中间件

公共函数句柄($请求,闭包$下一个){if(!空的会话{

        // $user = $request->session()->get('authUser');
        $user = session('authUser');

        // $token = $request->session()->get('authToken');
        $token = session('authToken');
        // $role = $request->session()->get('authRole');
        $role = session('authRole');

        User::createAuth($user,$token,$role);
        return $next($request);

    }
    return redirect('/login');

}

用户模型

公共静态函数createAuth($userData,$userToken,$userRole){$user=new User();

    $user->name = $userData['name'];
    $user->email = $userData['email'];
    $user->avatar = array_rand(User::get_avatar());
    $user->token = $userToken;
    $user->roles = $userRole;

    Auth::login($user);

    return $user;
}

共有1个答案

孔礼骞
2023-03-14

在自定义中间件上添加此代码解决了我的$request问题-

 类似资料:
  • void unregister_function(string name) Use this to dynamically unregister template function plugin. Pass in the template function name. 动态注销一个模板函数插件,参数是模板函数的名称。 Example 13-25. unregister_function 例子 13

  • void unregister_compiler_function(string name) Use this to dynamically unregister a compiler function. Pass in the name of the compiler function. 动态注销一个编译函数,参数name是编译函数的名称。

  • 我正在用Firebase设置身份验证。我成功登录了,但当我注销时,我的应用程序崩溃了 我在activity_menu上创建菜单。菜单项名为log_out。如果用户单击此项,则必须注销 我尝试这段代码查看错误,但它没有显示给我 我以为它是成功运行的,我没有看到任何错误。我怎么知道呢?

  • 根据链接中的答案,我知道如果调用SAML local logout(

  • 为了在实现过程保持完整自然流畅的功能,我们还添加注销视图,编辑urls.py以添加新的路由: myproject/urls.py from django.conf.urls import url from django.contrib import admin from django.contrib.auth import views as auth_views from accounts im

  • 问题内容: 我阅读了Python 2文档并注意到该功能: 返回对象的“身份”。这是一个整数(或长整数),在该对象的生存期内,此整数保证是唯一且恒定的。具有不重叠生存期的两个对象可能具有相同的值。 CPython实现细节:这是对象在内存中的地址。 因此,我通过使用列表进行了实验: 函数返回的整数是多少?它与中的内存地址同义吗?如果是这样,为什么整数不对应于数据类型的大小? 在实践中何时使用 问题答案