問題タブ [rbac]

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 投票する
1 に答える
776 参照

permissions - 分散アプリケーションでの役割ベースのアクセス許可

私は、さまざまな言語 (Java と C# など) で記述されたモジュールで構成されるアプリケーションに取り組んでおり、さまざまなマシン (現在は LAN 内) で実行されているため、大きなものではありませんが、分散されています)。私たちは、機能に役割ベースのアクセス許可を実装するための合理的なアプローチを探しています (機能のどの部分を呼び出す資格があるかを構成するため)。

現在、これは、ユーザー名をユーザーが使用を許可されているダイアログ要素の GUI ID にマッピングするカスタム データベース テーブル (私の考えではありませんでした。念のために言っておくと…) と、モジュールの 1 つに「管理者」機能を持たせることで解決されています。これらの値を設定します。このテーブルへのこの直接書き込みは、特に同時書き込み (「admin」モジュールの) と読み取り (データベース トランザクションは同時実行処理を提供する必要がありますが…この場合、これで十分ですか?)。

したがって、私の考えは、パーミッションの設定と読み取りの両方でアクセスする必要があるすべてのモジュールからアクセスできる中央サービス (できれば C# で作成されますが、フレームワークがこれをより適切にサポートする場合は Java も問題ありません) です。このサービスは、並行性の問題を防ぐことができます。もちろん、その背後では、アクセス許可を格納するためにまだデータベースを使用します。

このアプローチについてどう思いますか?サービスがボトルネックになるのではないでしょうか? しかし、それは私にとって正しいと「感じます」。車輪の再発明のようにゼロからこれを行うことは、私にとって正しくないと感じます。このサービスは、(ASP).NET によって提供される認証および承認サブフレームワークのようなものでしょうか? それとも Active Directory? しかし、その焦点はより粗いものに見えます (アプリケーション内の機能ではなく、ファイル、ディレクトリ、プリンターなど)。このトピックに関するあなたの経験を教えていただけますか?
よろしくお願いします!

検索中に見つけたいくつかのポインターを次に示します。
http://en.wikipedia.org/wiki/Role-based_access_control
AD​​FS と WIF を使用した役割ベースのアクセス許可のストレージ アクセス
許可ベースのセキュリティ モデルの設計
最適な役割ベースのアクセス制御 (RBAC)データベース モデル

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

rbac - tinyOS の Xaml

マイカモートに rbac を実装する必要があります。Xacml が rbac の実装に役立つことを読みました。しかし、私はチュートリアルとグーグルを検索しましたが、関連するものを見つけることができません.誰かがそれをどのように行うべきか、または参照につながるかを説明してください.

ありがとう

0 投票する
2 に答える
3280 参照

mysql - YiiAuthManagerのスキーマとタイプ

YiiのAuthManager全般と、DBテーブルに使用されるスキーマについて混乱しています。

  1. AuthItemテーブルのタイプフィールドは0から2の間でのみ可能です(Role = 2、Task = 1、Operation = 0)?
  2. チュートリアルで使用されているブログを使用して、 bizruleフィールドとdataフィールドに保存されているものの例を教えてください。
  3. useridフィールドはvarcharである必要がありますか?

このスキーマ(MySQLの場合)は競合を生成しますか?

前もって感謝します!

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

mysql - 別のテーブルに存在せず、3 番目のテーブルの子ではない 1 つのテーブルからの mySQL 選択

私は自分のアプリへのユーザー アクセスを制御するために Yii RBAC を使用しています。これは 3 つの mySql テーブルで構成されています。

authitem(RBAC ロール アイテム)

authitemchild(他のロールに属するすべての RBAC ルール)

authitemassignment(ユーザーへの役割の割り当て)

たとえば、次のようなテーブルがあるとします。

正規品:

オーティテムチャイルド

auititemassignment

上記のシナリオでは、ID が 1 のユーザーは、areaA で完全な CRUD アクセス権を持っています。私が必要としているのは、ユーザーがアクセスできないすべてのロールのリストです。また、ユーザーアクセスできるすべてのロールの子も考慮する必要があります。

ユーザーがアクセスできないすべてのロールを簡単に取得できます。

しかし、これは次を返します:

また、すべての areaA* ロールは areaASuperUser の子であるため、それらを返したくありません。

アドバイスや正しい方向へのプッシュは大歓迎です!

*編集:

ありがとう@SuVeRa、あなたの答え:

上記の例では完全に機能しますが、アプリを拡張して、子供向けの複数のレベルを含めるようにしました。

正規品:

オーティテムチャイルド

auititemassignment

元の答えが返されます。

親と子は除外されますが、子の子は除外されません。私が求めている結果 (この 2 番目の例) は次のとおりです。

***編集2:

特に Yii の場合:

私は Yii についてもう少し調べてみました。CAuthManagerには、 hasItemChild()isAssigned()getItemChildren()など、必要なデータを取得するのに役立ついくつかの便利なメソッドがあります。

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

php - 役割ベースのアクセス制御 (RBAC) へのより単純なアプローチは?

役割ベースのアクセス制御 (RBAC) の背後にあるコードを理解するのに苦労しています。Laravel フレームワークで「バンドル」を使用しようとしていますが、事態がさら​​に複雑になっているようです。

私の特定のアプリケーションに必要なのは、3 つの役割です。最初の最も基本的な役割は、ユーザーがアプリケーションにログインし、アカウントを管理し、「お気に入り」と「取引」を保存できるようにすることです。必要な 2 番目の役割は、ストア オーナーがログインしてアカウントと取引を作成できるようにすることです。3 番目の役割は基本的に管理者の役割なので、必要に応じて不要なコンテンツを削除できます。

「ロール」などと呼ばれるユーザーテーブルに int フィールドを追加するだけで、予想される問題はありますか? ユーザーの役割が 0 の場合、ユーザーは基本的な権限を持ち、サイトの管理者および所有者領域にアクセスできません。1 は、ユーザーが所有者の役割などを持っていることを示します。リクエストが行われるたびに、ユーザーの役割を確認するだけです。

これは合理的で安全なソリューションでしょうか? それとも、このアプローチを使用すると問題が発生する可能性がありますか?

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

permissions - これはどのような許可ですか?(グループ+ロール)

アプリでロールのアクセス制御が必要になり始めています。

これについてはよくわかりませんが、vBulletin がどのように機能するかは理解しています。

私が必要としているのは Role Bases Access Control だと思いますが、単一のユーザーではなくグループにアクセス許可を与える必要があるため、よくわかりません (達成するのはそれほど複雑ではないかもしれません)。

私が考えていることの例:

投稿が与えられた場合:

したがって、基本的に、RBAC が必要かどうかについてのオリエンテーションはしたくありません。

また、たとえば、グループ メンバーシップをユーザーに格納するのはどのようにすればよいでしょうか: ID NAME PASSWORD GROUPS (1, MyName, MyPassword, 1/2/3/4/5)PHP を介して、または という名前のテーブル内のグループ メンバーシップごとに 1 つのレジストリを使用して展開しますpermissions。例:USERID, USERGROUP values (1, 1), (1, 2)

正式な規範のため、おそらく 2 番目の方法である必要がありますが、私は大学でデータベース 1 をまだ勉強していません。

どうもありがとう!

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

yii - Yii の RBAC、ゲストは許可されていません

Yii で RBAC を実装しようとしています (rights モジュールを使用)。

認証されていないユーザー (ゲスト) を承認しようとすると、次のようにCWebUser呼び出しますCDbAuthManager

CDbAuthManager次に、ユーザーの認証割り当てを取得しようとします

問題は、ユーザーがゲストで$userIdありnull、 であり$assignments、 が空の配列であるためです。したがって、ゲストユーザーにアクションを許可することはできません(allowedActions()を宣言しない限り)

私は何を間違っていますか?

0 投票する
2 に答える
1165 参照

roles - 「ロールベースのアクセス制御」モデルで「ユーザーは自分の投稿を削除できる」を実装するにはどうすればよいですか?

Role-based access controlに関するいくつかの記事を読みましたが、このケースを処理するのに十分明確ではありません:「ユーザーは自分の投稿を削除できる」を実装する方法は?

通常の役割と権限の場合、ユーザーが何かを行うと、ユーザーが持っている役割と権限を確認し、ユーザーがそれを実行できるかどうかを判断できます。

しかし、「ユーザーが自分の投稿を削除できる」ためには、投稿が自分のものかどうかを確認する必要があります。そのため、何かをハードコーディングする必要があり、制御システムの制御が及ばなくなります。

私は何かを見逃していますか、そしてそれを正しく行う方法は?

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

c++ - ロールベースのアクセス制御C++ライブラリまたは例

アプリケーションを作成していますが、ユーザーの役割に基づいて特定の動作/アクションへのアクセスを制限したいと思います。

私はこれを実装するC++ライブラリ(または少なくとも「自分でロールする」方法に関するガイドライン)をオンラインで検索しましたが、役に立ちませんでした。誰かがそのような図書館を知っていますか?いいえの場合、そのようなライブラリ/フレームワークを実装するための最良の方法に関するいくつかのアイデアに感謝します。

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

php - Yii authManager ビジネスルールをどこに書くべきか?

プロジェクトで RBAC を処理するために Yii の authManager を使用しています。私はこの概念にかなり慣れていません。

私の質問は、ビジネス ルールの記述と保存に関するものです。CDbAutManager を使用しているため、すべてがデータベースに保存されます。ユーザーは動的に成長するため、どのユーザーがどのロールを持っているかを保存するのは理にかなっています。ただし、ビジネスルールもそこに保存されているようです。私は上手く理解できていない気がします。

「updateOwnPost」のルールを書く必要があります。プロジェクトを簡単に移植できるように、これを PHP ファイルのどこかに記述すべきではありませんか? 同じコードで新しい Web サイトを開始する場合、ルールは維持したいが、ユーザーは維持したくない...

また、それらのルールはどの程度複雑になる可能性がありますか? データベース内に 20 行のルールを書いているとは思えません...

私の質問は 2 つあります。

まず、一般的に、なぜこのように実装されているのでしょうか。また、通常の方法は何ですか?

次に、ビジネス ルールを実際の PHP ファイルへの関数呼び出しにすることはできますか? もしそうなら、どのように?