我想从家庭控制器到api控制器获取用户ID,我在会话中存储用户ID并尝试在api控制器中获取ID,但它总是说非对象如何获取用户ID,请帮帮我。我的代码。
HomeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Auth;
use Session;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
$userdata = Auth::user();
// return $userdata;
Session::put('login_user_id',Auth::user()->id);
$uid = Session::get('login_user_id');
dd($uid);
exit;
return view('home');
}
}
我想在BlogController.php中获取用户ID
BlogController.php
public function index()
{
$userdata = Auth::user();
// return $userdata;
Session::put('login_user_id',Auth::user()->id);
$uid = Session::get('login_user_id');
dd($uid);
exit;
return view('home');
}
在HomeController中,我获得了用户ID,但在BlogController中却没有获得。
User.php
<?php
namespace App;
//use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Auth\Authenticatable as AuthenticableTrait;
use Illuminate\Auth\Passwords\CanResetPassword;
class User extends \Eloquent implements Authenticatable
{
use AuthenticableTrait;
protected $fillable = ['first_name','last_name','username','password','mobile','email','token'];
public function blog()
{
return $this->belongsToMany('App\Blog');
}
}
答案 0 :(得分:0)
Laravel API默认设置不包括会话。您无法在API控制器中获取会话。您可以将用户ID作为参数传递给API控制器,但是会存在一些安全问题,因此不建议这样做。
答案 1 :(得分:0)
会话未在API中支持。为此,您可以使用Redis