問題タブ [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.

0 投票する
5 に答える
5057 参照

php - ユーザーの役割を取得するには - Yii2

ログインしたユーザーのユーザー ロールを探していましたが、ユーザー ロール名を出力する方法がわかりません。私はこれを試しました:

いつ、私はしましたprint_r($Role); 私はこれを得た :

特定のロール名を取得しようとしましたが、アクセスできませんでした

入力するprint_r($Role[0]->name);と、次のようなエラーが表示されます

PHP 通知 – yii\base\ErrorException

未定義のオフセット: 0

そして、私がこのようにすれば($rolename配列インデックスに手動で渡すことを意味します)、それは機能しています。

この要件が私に来た理由は、ログインしているユーザーにとっては問題ないからです。しかし、他のユーザーロール名を知りたい場合は、そのインデックス名をここに渡す必要があります$Role[$roleName]->name

この「スーパー管理者」にアクセスするのを手伝ってください。インデックス名を取得する方法がわかりません。

ユーザーロールの取得とユーザーの特定のロールもチェックしました

0 投票する
1 に答える
586 参照

php - MySQL 付与権限のアクセス拒否

データベースのセットを操作する Yii2 プロジェクトがあります。ユーザー認証データを保持する 1 つの基本的なデータベース接続と、各ユーザーに対して自動的に作成されたデータベースへの 2 番目の接続ポイントがあります。

プログラムでデータベースを作成する必要があります。そのため、projectグローバル許可権限とproject\_%.* に対するワイルドカード権限を持つユーザーがいます。それが私がすることです:

$dbname is 'project_'.randomString(8).

すべてのproject権限を再確認しましたmysqluserまた、付与可能な権限と付与オプションがありinformation_schemeますが、それでもアクセスエラーが発生します。

SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1044 データベース 'project_sck6jdyb' へのユーザー 'project'@'localhost' のアクセスが拒否されました。

MySQL version is 5.6.21XAMPP、 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 OPTION

GRANT ALL PRIVILEGES ON project.* TO 'project'@'localhost'

project\_%GRANT OPTION を使用して .* TO 'project'@'localhost' にすべての権限を付与する

0 投票する
0 に答える
47 参照

yii2-basic-app - yii2で管理者によって役割が割り当てられている場合にのみ、従業員がシステムにログインできるようにする方法は?

私は yii2 basic を使用しており、パーミッション、ロールを使用して RBAC を実装しています。

Employee テーブルがあり、Employee モデルをユーザー アプリケーション コンポーネントに割り当てました。

ここでのシナリオは、管理者が従業員を作成するときに、auth_assignment CRUD を使用してその従業員にロールを割り当てる必要があるというものです。

役割が割り当てられない限り、従業員はログインできないはずです。エラーメッセージとともにログインページが表示されるはずです。(ユーザーが間違ったユーザー名またはパスワードを入力した場合のシナリオに似ています。)

これを達成する方法は?

0 投票する
1 に答える
1089 参照

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は以下です

どうすれば達成できますか?どんな助けでも大歓迎です。