問題タブ [yii2-user-roles]
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 - ユーザーの役割を取得するには - Yii2
ログインしたユーザーのユーザー ロールを探していましたが、ユーザー ロール名を出力する方法がわかりません。私はこれを試しました:
いつ、私はしましたprint_r($Role)
; 私はこれを得た :
特定のロール名を取得しようとしましたが、アクセスできませんでした
入力するprint_r($Role[0]->name);
と、次のようなエラーが表示されます
PHP 通知 – yii\base\ErrorException
未定義のオフセット: 0
そして、私がこのようにすれば($rolename
配列インデックスに手動で渡すことを意味します)、それは機能しています。
この要件が私に来た理由は、ログインしているユーザーにとっては問題ないからです。しかし、他のユーザーロール名を知りたい場合は、そのインデックス名をここに渡す必要があります$Role[$roleName]->name
この「スーパー管理者」にアクセスするのを手伝ってください。インデックス名を取得する方法がわかりません。
ユーザーロールの取得とユーザーの特定のロールもチェックしました
php - MySQL 付与権限のアクセス拒否
データベースのセットを操作する Yii2 プロジェクトがあります。ユーザー認証データを保持する 1 つの基本的なデータベース接続と、各ユーザーに対して自動的に作成されたデータベースへの 2 番目の接続ポイントがあります。
プログラムでデータベースを作成する必要があります。そのため、project
グローバル許可権限とproject\_%
.* に対するワイルドカード権限を持つユーザーがいます。それが私がすることです:
$dbname is 'project_'.randomString(8).
すべてのproject
権限を再確認しましたmysql
。user
また、付与可能な権限と付与オプションがありinformation_scheme
ますが、それでもアクセスエラーが発生します。
SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1044 データベース 'project_sck6jdyb' へのユーザー 'project'@'localhost' のアクセスが拒否されました。
MySQL version is 5.6.21
XAMPP
、 Windowsの下で実行されます。それはバグですか、それとも何か間違っていますか?
アップデート:SHOW GRANTS for project@localhost;
GRANT INSERT、CREATE、DROP、RELOAD、INDEX、ALTER、SUPER、CREATE USER ON
*.*
TO 'project'@'localhost' IDENTIFIED BY PASSWORD '*[secret]' WITH GRANT OPTIONGRANT ALL PRIVILEGES ON
project
.* TO 'project'@'localhost'
project\_%
GRANT OPTION を使用して .* TO 'project'@'localhost' にすべての権限を付与する
yii2-basic-app - yii2で管理者によって役割が割り当てられている場合にのみ、従業員がシステムにログインできるようにする方法は?
私は yii2 basic を使用しており、パーミッション、ロールを使用して RBAC を実装しています。
Employee テーブルがあり、Employee モデルをユーザー アプリケーション コンポーネントに割り当てました。
ここでのシナリオは、管理者が従業員を作成するときに、auth_assignment CRUD を使用してその従業員にロールを割り当てる必要があるというものです。
役割が割り当てられない限り、従業員はログインできないはずです。エラーメッセージとともにログインページが表示されるはずです。(ユーザーが間違ったユーザー名またはパスワードを入力した場合のシナリオに似ています。)
これを達成する方法は?
yii2 - Yii2- ユーザーがインデックス ページで他のデータを表示できないように制限する方法
私は自分のプロジェクトで取り組んでyii2
おり、ユーザーとその役割があります。各役割には、モジュールとサブメニューへのアクセスが与えられます。SIM List
すべてのSIM
レコードを表示できるという名前のサブメニューがあります。issued_to
どの SIM がどのユーザーに発行されたかを示すという名前のフィールドがあります。
SIM がユーザーに発行されない限り、issued_to
フィールドは空のままです。発行されると、ユーザーの名前が に表示されますSIM List
。
特定のユーザーだけがリストを閲覧できるように管理したいと考えています。たとえば5 Sims
、という名前のユーザーに発行されましたU
。これで、ユーザーU
には発行された SIM レコードのみが表示されます。それ以外の場合、リストは空になります。
私のIndex
コントローラーissued_to
では、デフォルトで空のフィールド名を取得しています。
以下のようにすることで、issued_to
ユーザーIDを取得できます
ここで、このコントローラーに、その特定のユーザーのレコードのみを表示するチェックを追加しuser_id
ます。
インデックス ビュー
更新 1
私search model
は以下です
どうすれば達成できますか?どんな助けでも大歓迎です。