問題タブ [cartalyst-sentinel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel-5.2 - Sentinel::authenticate() が機能しない
Sentinel 2.0を新規インストールしたLaravel 5.2を使用しています。登録は正常に機能しますが、ログインしようとするとユーザーが返されますが、Cookieやセッションなどは設定されません..
アップデート1
現時点では、Cookie/セッションがまったく保存されていないことがわかりました。Cookie がプッシュされない理由がよくわかりません。
AuthController.php
\Sentinel::check();
リダイレクト前の var_dump()
何がうまくいかないのでしょうか?
.env
セッション ドライバの は に設定されておりdatabase
、セッション テーブルはログイン後も空のままです。Cookieも設定されていません。
laravel - Laravel / Cartalyst Sentinel Authentication がログインしているユーザーを検出しない
認証システムとしてCartalyst の Sentinelを使用して Laravel 5.1 を使用しています。フロントエンドでAngularを使用しています。
domain.com/login
にPOST リクエストを送信するフォームがありますapi.domain.com/login
。ユーザーが正しい資格情報を入力した場合、フロントエンドが見て最終的に転送するものをapi.domain.com/login
返します{'success': true}
domain.com/dashboard
ここで問題が発生します。私のダッシュボードコントローラーの関連部分:
ユーザーがログインしていることを検出していません。そして、私を送り返し続けますdomain.com/login
api.domain.com
一部のログインが で発生しており、ユーザーが でログインしているかどうかを確認してdomain.com
おり、ブラウザーが関連するセンチネル Cookie を送信していないため、これが発生していると思われます。Sentinelのドキュメントでは、これについては何も言及されていません。
api.domain.com
私の疑いが正しければ、Sentinel が と の両方でユーザーを認証できるようにするにはどうすればよいdomain.com
ですか? 私の疑いが正しくない場合、ここで何が起こっているのでしょうか?
laravel - Laravel と $fillable 配列で Sentinel を使用することに関するクエリ
Laravel 内のユーザー認証には Cartalyst Sentinel を使用しています。新しいユーザーを追加するフォームを作成しました。奇妙な理由で、パスワード フィールドをUser クラス モデルSentinel::register()
の配列に入れないと、パスワードが届きません。$fillable
これは潜在的なセキュリティ上の問題です。どうすればこれを回避できますか? Sentinel を使用して新しいユーザーを作成するときに、何か欠けているものがあるに違いありません (そして、Sentinel のドキュメントには有用な情報がほとんど含まれていません)。
私がコードに関して行っていることの簡単な要約です。ユーザーの作成に必要なフィールドで配列を埋めました。この配列は に渡されSentinel::register()
ます。すべてうまくいっているように見えますが、データベースを調べてみると、パスワード フィールドが空白になっています。
補足: 残念ながら、認証システムを切り替えることはできません。Sentinel を使用する必要があります。
php - Cartalyst Sentinel - ログイベント (正しい方法は何ですか)
Sentinel 内のすべてのサインアップおよびサインインの試行を記録する適切な場所はどこですか?
保存しようとしているのは、ステータス (成功かどうか)、タイムスタンプ、IP、HTTP ユーザー エージェント、HTTP アクセプト言語です。
それらを IlluminateUserRepository.php 内の関数 recordLogin および create に入れることを考えていましたが、これが正しい方法かどうかはわかりません。
laravel - Laravel と Sentinel: 承認のための混合ロール ミドルウェア
私はLaravelの初心者(非常に初心者)で、Laravel 5.2でCartalyst Sentinelを使用してロールの承認を活用しています。
管理セクションには、「管理者」、「エージェント」、「ライター」という 3 つ (またはそれ以上) の役割があります。
また、次のように、混合ロール アクセスが必要なセクションもいくつかあります。
- ダッシュボード (すべてのロールがアクセス可能: 管理者、エージェント、ライター)
- ユーザー (アクセス可能: 管理者)
- 注文 (アクセス可能: 管理者、エージェント)
- ページ (アクセス可能: 管理者、ライター)
- no_admin_here (アクセス可能: エージェント、ライター)
現時点では、2 つの役割だけで動作するように管理していましたが、今は行き詰っています。
これまでに行ったこと(必要なコードのみを入れました):
ルート.php
SentinelCheck ミドルウェア (Kernel.php では「check」という名前)
SentinelAdmin ミドルウェア (Kernel.php では「admin」という名前)
SentinelAgent ミドルウェア (Kernel.php では「agent」という名前)
私が言ったように、これまでのところとても良いのですが、役割を混ぜようとすると物事が台無しになります。つまり、次のようなルートを書くことはできません:
「管理者」ミドルウェアがブロックしてログアウトするため、「エージェント」はセクションに到達しないためです。同様に、他のすべての役割を組み合わせることはできません。
等..
では、セクションへのロール アクセスを簡単に混在させる (簡単な) 方法はありますか? よろしくお願いいたします。