問題タブ [role-based-access-control]
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.
cakephp - ロールベースの特定のデータアクセスに対する CakePHP アクセス割り当て
私のプロジェクト要件は次のようなものです:
一番上には、すべての d アクセス権を持つ管理者がいて、最初のレベルです。
管理者の下には、部門長の作成とは別に、すべての d アクセス権を持つ部門長がいます。
部門長の下には、割り当てられた部門ごとのデータを管理するその他のメンバーがいます。
これで、すべての異なる部門長は独自の情報とメンバーを持ち、すべての部門長/メンバーは、入力/管理している独自の特定のレコードにアクセスできます。
現在、CakePHP の ACL コンポーネントを使用して、役割とアクセス レベルを分割できますが、すべての部門長は同じレベルのアクセス権を持つため、他の部門長の情報を見ることができ、他のすべてのメンバーは他のメンバーの情報を diff で見ることができます。部門、現在、同じレベルのアクセス権があります。
私のプロジェクトの複雑さは、他のプロジェクトと同じレベル/役割が割り当てられているにもかかわらず、割り当てられた、または作成された情報/データのみを表示する必要があることです。
CakePHP で既に利用可能なプラグインを使用してこれらすべてを管理するために、誰でも最適なオプションを提案できますか。
デフォルトの ACL コンポーネントをカスタマイズして作業できますが、予想よりも時間がかかります。
より良いアイデア/提案をいただければ幸いです!
access-control - 2 つのパラメーターを持つ RBAC システム
2 つのパラメーターを持つ RBAC システムの例またはベスト プラクティスを探しています。単にユーザーをロールに関連付け、そのロールを権限のグループに関連付けるだけではなく、ユーザーは「特定のプロジェクトの」ロールに関連付けることができ、ユーザーはそのプロジェクトのみ (またはユーザーがそのロールを保持している他のプロジェクト) に対してそのロールの権限を持つことができます。ユーザーは、あるプロジェクトで特定の役割を持ち、別のプロジェクトで別の役割を持つことができます。ロールに付与される権限は、すべてのプロジェクトで一貫しています。また、プロジェクトに対するユーザーの権限は、そのユーザーがプロジェクトで持っている役割に基づいています。
(違いがある場合は、GET ステートメントを介してプロジェクト ID を設定する URL クエリ パラメーターを介してページ コンテンツが開発されるページ アクセスを制限しようとしています。)
ABAC は有望に見えますが、頭を悩ませています。私の理解では、ユーザーの属性によって、ユーザーが役割 (および/または権限) を持っているかどうかが決まります。私の場合、プロジェクトを「ユーザー」と見なし、ユーザーをプロジェクトの属性と見なすようです (ユーザーがそのプロジェクトの役割を保持している場合は true、そうでない場合は false)。
dynamic - RBAC の役割と権限の動的生成
新しい RBAC ロールをオンデマンドで生成する方法を探しています。2 つの主要なパラメーターを持つ RBAC システムを開発しています。単にユーザーをロールに関連付け、そのロールを権限のグループに関連付けるだけではなく、ユーザーは「特定のプロジェクトの」ロールに関連付けることができ、ユーザーはそのプロジェクトのみ (またはユーザーがそのロールを保持している他のプロジェクト) に対してそのロールの権限を持つことができます。ユーザーは、あるプロジェクトで特定の役割を持ち、別のプロジェクトで別の役割を持つことができます。ロールに付与される権限は、すべてのプロジェクトで一貫しています。また、プロジェクトに対するユーザーの権限は、そのユーザーがプロジェクトで持っている役割に基づいています。
2 つのパラメーターを持つ RBAC システムに応答して、lmontrieuxプロジェクトごとに異なる役割を使用することをお勧めします。たとえば、ロール「admin」がプロジェクト「P1」と「P2」で使用されている場合、ロール「P1:admin」と別のロール「P2:admin」を作成します。これは進むべき道のように思えますが、静的な役割のセットを作成したくありません。まず第一に、いくつかのプロジェクトがあり、プロジェクト ID を除いてすべての点で同一のパーミッションのセットをいくつか書くべきではありません。次に、さらに重要なことに、プロジェクト「P3」、「P4」、および「P5」はまだ存在しておらず、存在する場合はユーザーによって作成されます。予測できない数の将来のプロジェクトに対して静的な役割ベースの権限を作成することはできないため、一般的な標準に基づいてプロジェクト固有の役割を生成する方法を開発する必要があります。
これは、オブジェクトとクラスを使用するのに適したアプリケーションだと思いますが、構造化する方法がわかりません。
authentication - Yii 承認割り当て - Yii はどこで ID を取得しますか?
最初の RBAC システムを実装しようとしています。
私はこの部分に到達しています:
公式ドキュメントには、ユーザー名の例があります。
ただし、私の場合、代わりに ID が機能することがわかりました。
ユーザー名ではなく ID が機能したのはなぜですか? どこかでgetId()
からのメソッドを上書きしたためだと推測しましたUserIdentity
。
しかし、ドキュメンテーションとYiiコードを読み続けた後、assign()
メソッドが の子を受け入れず、代わりにインターフェースをCUserIdentity
使用していることに気付きました。IWebUser
次に、メソッドに次のようなものがあるCWebUser
ことに気付きました。getId()
私はこれを追い続けていますが、最終的$_SESSION[$key]
には混乱しています。
それは何のidですか?ユーザーデータベーステーブルの主キーだと思います。
しかし、CWebUser はどのようにして私のユーザー データベース テーブル (と呼ばれるtbl_site_user
) を知っているのでしょうか。
私が持っている唯一の構成はユーザーに関連しており、承認は私のメイン構成ファイルで次のとおりです。
Yii は$auth->assign
2 番目の引数の ID をどこで取得しましたか?
angularjs - Angularjs と mvc5 (.net) を使用してアクセス制御を処理する適切な方法は何ですか?
私は現在、ロールベースのアクセス制御ロジックを必要とするアプリケーションのために Angularjs を学んでいます。ユーザー ロールに基づいて特定のページへのアクセスを制限するロジックが必要になるシナリオがあります。ユーザーの役割に基づいて、ページのセクションまたはフォームの特定のフィールドへのアクセスを制限する必要があるシナリオは他にもあります。Angularjs がクライアント側の方法論である場合、クライアントがアクセスできないと思われるアイテムにクライアントがアクセスできないようにする場合、これは問題を引き起こすようです。
Angularjs に干渉することなく、サーバーからこれらのシナリオを処理するための現在のアプローチは何ですか?
ページセクションへのアクセスを制限するためにカミソリにアクセスできることは知っていますが、Angularjs にはどのような問題があり、カミソリと角度ビューの構文を混在させることをお勧めしますか?
Angularjs に移行する際に、これを処理する方法に頭を悩ませています。
tfs - ファイル拡張子によって TFS へのユーザー/ロール アクセスを制限することは可能ですか?
私の検索は多くの役に立たない結果をもたらしているので、ここの誰かがすぐに知ってくれることを願っています. チームの一部のメンバー (フロント エンドの人) が .cshtml、.css、.js ファイル (など) への書き込みアクセスのみを持ち、バックエンド開発者がすべてのファイルへの書き込みアクセスを持てるように、Team Foundation Server を構成したいと考えています。 . これは可能ですか?
sql - それはアクセス制御データベースの悪い設計ですか?
私は PHP と codeigniter のシンプルなシステムであり、ユーザーとそのシステムへのアクセスを管理するためのシンプルでより良い方法が必要です。そのため、検索の結果、アクセス制御に関する興味深いトピックを見つけましたが、それが良いアプローチであるかどうかについてはまだ疑問があります.
役割とユーザーの perm テーブルがあるのは、一部のユーザーは、どの役割でも定義されていない別のアクセス権を持つ必要があるためです。user_permission は常に role_permission よりも優先されます。たとえば、ユーザーにはユーザーの除外にアクセスできる役割がありますが、管理者がユーザーの除外を拒否する user_perm を作成したため、この特定のユーザーはユーザーを削除できません。
どんな助けでも大歓迎です。
authentication - フィールド値に基づく Elasticsearch アクセス制御
私は現在、一元化されたログ ファイル分析のために ELK (Elasticsearch、Logstash、Kibana) スタックを調査しています。
複数のアプリケーションのログを、logstash と日ベースのインデックスを使用して同じ Elasticsearch クラスターに保存する計画です。
すべてのドキュメントには、"application": "superapp" などの application というフィールドが含まれています。
現在、次のようなアクセス制御を実装する方法を探しています。
A) スーパーユーザー:すべてのアプリケーションのログ エントリを表示できます。
B) 開発者:許可されているアプリケーションのログ エントリのみを表示できます。たとえば、アプリケーション「superapp」の開発チームは、このアプリケーションのエントリのみを表示できる必要があります。
まとめると、フィールド アプリケーションの値に基づくアクセス制御が必要です。
Elastisearch と Shield のドキュメントを読んでいる間、明確な方法が見つかりませんでした。
Kibana 3および4でも機能する方法でこれを実現する方法はありますか?
私の最初のアイデアは、インデックス テンプレートを使用してドキュメントに自動的に割り当てられるエイリアスを使用することでした。これが正しい方向であるかどうか疑問に思っています。
angularjs - Mean Stack Web アプリの役割ベースのアクセス制御
ログインしたユーザーの役割に基づく差分アクセスを含む平均スタック Web アプリケーションに取り組んでいます。admin、govt、ボランティアなど、いくつかの異なる役割があります。
1. 役割に基づいてフロント エンドを管理する方法は?
現在、私は役割ごとにisAdmin、isVolunteer、isGovtなどのグローバルフラグを設定しており、それらの値に基づいて、使用してさまざまなUIを表示できますdata-ng-if = "Global.isAdmin"
このアプローチは正しいですか。そうでない場合は、UI を処理する正しい方法を提案してください。
2. ユーザーが認証を受けていない場合、バックエンドを管理してルートをリダイレクトする方法は?
現在、angular-permissionとrbacを使用しようとしていますが、アプリケーションでこれらを正常に使用できません。平均スタックWebアプリのロールベースのアクセス制御のベストプラクティスを教えてください。
angular-permissionを使用しようとしたときに、作成したロールをルート ファイルにリンクできませんでした。
これはロールモジュールです。
ルートファイルで構成された上記のロールをリンクする方法