これはしばらくの間問題でした。私はLaravel 5.5を使用して、既存のデータベースの管理パネルを構築しています。データベースには、独自のテーブルセットと独自のユーザテーブルがあります。このテーブルは、RDSインスタンス上でリモートでホストされます。Laravel認証は持続しません - リモートテーブルを使用します
私は新しいLaravelプロジェクトを作成しました - 私は非常に単純な認証スクリプトを使用しています - ルートはようにされるようにサインインするルートにパラメータとしてidとトークンを渡します。
/auth/login?id=XXX&token=XXX
コントローラメソッドの私のコードだけである:
$user = \App\Models\User::find($id); \Auth::loginUsingId($id);
私の設定ファイルは、リモートサーバ上のデータベースを参照します。そして、私のユーザモデルは次のとおりです。
namespace App\Models;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password',
];
public function __construct(){
parent::__construct();
$this->table = 'auth_user';
}
protected $hidden = [
'password', 'remember_token',
];
}
\Auth::loginUsingId($id);
は成功し、ユーザーにログインすると、セッションが作成されます - 私はページを更新するか、別のページにリダイレクト分しかし - \Auth::check()
戻りfalse
は、私はかなり試してみました多くのものがセッションを残しても永続することを拒否します。テーブルにはすべての属性が必要です。ここでどこが間違っていますか?
ありがとうございます。私はそのショットをして、それが動作するかどうかを確認します – Ali
うまくいきません - 毎回複数のセッションが作成されていますが、ユーザー用に作成されたセッションは維持されません。 - Auth :: loginUsingIdはセッションを作成します。 ( – Ali
同じドメイン/サブドメインの別のページにリダイレクトしますか?セッションテーブルをリモートデータベースに置いて再試行してみてください。 –