問題タブ [cartalyst-sentry]
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.
php - Sentry 2 with Laravel 4、認証を覚える
ヘルパーSentry::authenticateAndRemember($credentials);
を使用してユーザーを認証していますが、しばらくすると (数日) 接続が切断されます。使用されるセッション ドライバーはデータベースのものです。
私はこの問題を調査し、Sentry がユーザーの認証をどのように記憶しているかを理解しようとしました。まず、セッションテーブルで、ペイロードが何を表しているか知っている人はいますか? 作成した Cookie を確認したところ、理由はわかりませんが、有効期限が 1 か月後に設定されています (ソース コードでは 5 年後に設定されているようです)。また、ユーザーを記憶せずにログインしようとしましたが ( Sentry::authenticate($credentials, false);
)、まったく同じ Cookie が作成されたので、ブラウザーを終了するときに切断されませんでした。
私が言ったことを説明する手がかりはありますか?
php - Laravel 4 で Sentry 2 を使用する方法
私のlaravel4アプリケーションにはPersoncontrollerとFestivalcontrollerがあります。これらのコントローラーのアクションには、管理者のみがアクセスできます。
データベースに test@hotmail.com のユーザーしかいない場合、そのユーザーはこれら 2 つのコントローラーのルートにアクセスできます。データベースに test@hotmail.com のユーザーがなく、他のユーザーがいる場合、それらの他のユーザーはこれら 2 つのコントローラーのルートにアクセスできません。また、私のデータベースに test@hotmail.com のユーザーがいて、他のユーザーがいる場合、誰もがこれら 2 つのコントローラーのルートにアクセスできます。
電子メール test@hotmail.com を持つユーザーのみがこれらのコントローラーのルートにアクセスできるようにします。
これを実行して Sentry2 をインストールしました。
composer.json ファイルには以下が必要です。
走る
app > config > app.php で:
'Cartalyst\Sentry\SentryServiceProvider',
=> プロバイダー配列へ
'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',
=>エイリアス配列へ
インストール後、SentrySeeder ファイルを作成しました。
私の PersonController で
LoginController でのログイン アクション
ユーザーをデータベースに保存する
laravel - Laravelファサードの部分モックアップを指定するにはどうすればよいですか?
最初にこれを試しました
しかし、それは私に与えました
それで、Laravel Facades がすでに Mockery を実装していることがわかったので、直接 Facade を試してみました。
しかし、問題は、そのオブジェクトの他の機能が見つからないことです。本質的に、ここでは部分的なモックアップの動作が必要ですが、それを伝える方法がわかりません。
これは私が必要なものです
php - Laravel 4、Sentry 2:許可レベルは可能ですか?
Sentry パーミッションは、データベース テーブル内で次のようになります。
ブール値だけでなくレベルも使用する方法はありますか? 0、1、2、3、4 など。
Sentry はデフォルトでこれをサポートしていないようです。理由はわかりません。許可システムは私を失望させています。許可レベルがないと使用できません。
回避策のアイデアはありますか? テストのために、一部の Sentry コードをリファクタリングしたので、アクセス許可レベルの一部が機能するようになりましたが、ベンダー コードは変更したくありません。Cartalyst\Users\Eloquent\User などのクラスを拡張できますか?
laravel - Laravel Sentry は編集権限を Creator に制限します
Laravel を使用して、シンプルなムービー管理システムを構築しています。
ユーザーがDBにムービーを作成するとき、次を使用します
これにより、ユーザーIDが正常に渡され、その中にcreator_idフィールドが格納されます
ユーザーが作成していないムービーの編集を制限したい。 だから私が持っている編集機能で
ただし、これは機能しないようです。セントリー ユーザー データベースで権限を持つmovie.edit
ユーザーは、引き続きビューを見ることができます。
php - 要求されたコントローラアクションに基づいてlaravelでグループ化されたルートをフィルタリングする方法は?
次のように、 Laravel 4アプリにグループ化されたリソースコントローラーがたくさんあります。
上記の 2 つは、Cartalysts Sentry 2パッケージを使用して実装されたユーザーとグループを管理するためのコントローラーです。
ここで、現在の Sentry ユーザーにコントローラー アクションを呼び出す権限をチェックするフィルターが必要です。フィルターはルートのグループにラップされているため、囲まれたルートがどのコントローラーまたはアクションにつながっているのかわかりません。私が知る限り、フィルターが BaseController メソッドで設定されているfilters.php
か、BaseControllerbeforeFilter()
メソッドで設定されているかに違いはありません。問題は、ルートが最終的にどこにつながっているかを判断する方法がわからないことです。
(base)controllersbeforeFilter()
メソッドで呼び出されるコントローラー アクションを特定することは可能ですか?
database - ユーザー Cartalyst Sentry 2 に属するグループを取得する方法
USER
Laravel 4.1 でモデルが属するSentry グループを取得する最良の方法は何ですか?
これに関するドキュメントには何も見つかりませんでした。
php - Sentry クラスを拡張する Laravel 4 & Sentry 2
セントリー 2 でセントリー クラスを拡張しようとすると、いくつかの問題が発生します。
新しいファサードを作成しました:
歩哨クラスを拡張しました (すべての使用名前空間は、投稿でクリーンアップするために削除されました)。この時点でそれを機能させようとするだけで、明らかにこれにはさらに多くのことがあります。
app.php 内で、エイリアスを次のように変更しました。
に
問題: 自分のエイリアスを使用すると、実際の Sentry クラスが起動していること以外はほとんど何もありません。ご覧のとおり、スロットリングが有効になっているかどうかを確認しようとしています。私のエイリアスを使用すると(常にtrueを返す)、config.phpファイルは使用されませんが、通常のエイリアスを使用するように戻すと、正常に機能します(構成でfalseに設定しているため、falseを返します)。
私が間違っていることについてのヒントはありますか?実際の Sentry クラスを拡張しようとしている人を見つけることができませんでした。私が見つけた唯一のことは、sentry 2 フォーラムで、管理者の 1 人が誰かに新しいファサードを作成してから Sentry を拡張するように勧めましたが、それだけでした。
私が提供できるその他の情報は、必要なものを教えてください。ありがとう!