問題タブ [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.
php - データベースに承認規則がある理由は何ですか?
私の Yii アプリケーションでは、承認階層とビジネス ルールをコードで記述し、ユーザー、ロール、およびアクセス許可をデータベースに格納したいと考えています。これにより、ビジネス ロジック (コードである必要があります) が、使用する必要がある情報 (データである必要があります) から分離されます。Yii はこれをサポートしていないようです。
Yii では、ビジネス ロジックをファイル (CPhpAuthManager) に入れるか、データベース (CdbAuthManager) に入れるかを選択できます。いずれにしても、ビジネス ロジックをデータとして扱っています。Yii は実際にビジネス ロジックを文字列として取得し、それを 経由で実行しますがeval
、これはひどい方法のように思えます。
これの理由は何ですか?
望む結果を得るにはどうすればよいですか?
rbac - XACML プロファイルとは何ですか?
XACML (eXtensible Access Control Markup Language) は初めてで、少し混乱しています。プロフィールの意味がわかりません。たとえば、RBAC または SAML プロファイルです。
それらの違いは何ですか?構造と要素は常に同じではありませんか?
助けてくれてありがとう
php - Yii accessRules 式が機能しない
私のコントローラーには、
しかし、何らかの理由で、deleteComment の式で常に 403 エラー (許可されていません) が返されます。私はその表現をテストして真実になったにもかかわらず。'expression'=>'return true;' を入れても 動作しません。:(私は完全に混乱しています...何かアイデアはありますか?ありがとう、ブラッド(:
codeigniter - 複雑なRBACCodeigniterライブラリ(きめ細かいユーザー権限とグループベースの制限用)
私は、認証と統合されたある種のRBACを必要とする方向に進化したプロジェクトの真っ最中ですが、高度な機能(役割/グループに基づいてユーザーに「上限」または「制限」を設定)を備えています。SaaS GitHub、Basecampなどの有料および無料のプランがあるサイトが良い例です。
私はすでにテストしました:
IonAuth- http ://github.com/benedmunds/CodeIgniter-Ion-Auth
WolfAuth- http ://github.com/Vheissu/Wolfauth---A-Codeigniter-Auth-Library
Perm Spark- http: //getsparks.org/packages/perm/versions/HEAD/show
Codeigniter-RBAC- https://github.com/pdiddy/CodeIgniter-RBAC
およびその他(すべてに1つ:焚き火)。これらの中には認証機能しかないものもあれば、認証がないものもありますが、RBACを提供します。これらのいずれも、ユーザー制限がある可能性について利用または言及していません。
私は自分で同様のライブラリを開発し始めました(そこから移動しているので、Ion Auth関数の命名を壊さないようにしています)が、データベーススキーマの計画と移行での実装を終えたばかりであることを考えると、より良いと思います車輪の再発明の代わりに、準備ができてテストされたもの(存在する場合)を使用する。この特定のタスクを実行するためのライブラリを知っている人はいますか?
私はCI:2.1.0 + HMVCを使用しており、この特定の目的のためにDataMapperまたはRedBeanを追加することを考えています。
django - django ガーディアン、パーミッション、django 認証グループの「組織」モデルへの拡張
django Guardian https://github.com/lukaszb/django-guardianは、オブジェクト レベルのパーミッション アプリとして非常によくできています。私は実際に、さまざまなdjangoプロジェクトで他のかなりの数のdjangoオブジェクトレベルのアクセス許可アプリを読んで使用しました。
私が取り組んでいる最近のプロジェクトでは、django ガーディアンを使用することにしましたが、2 つの可能なアプローチの長所と短所、および SQL クエリのパフォーマンスに対するそれぞれの影響に関するモデル設計の質問があります。
それを使用
django.contrib.auth.models.Group
して、カスタム組織アプリのモデルに拡張します。また代わりに使用
django.contrib.auth.models.User
し、組織アプリの組織タイプごとに m2m フィールドを作成します。
アプローチ #1
このアプローチでは、ユーザーが初めてグループ (django グループ) に追加されると、グループ オブジェクトが作成され、これら 3 つのクラスのいずれかに割り当てられます。そのグループ オブジェクトがまだ追加されたクラスに属していない場合は、の中へ。
これは、各 StudentClass オブジェクトなどsc_A
にsc_B
多くのグループが含まれる可能性があることを意味します。
つまり、特定のユーザー (たとえばmyuser
) が特定の組織に属しているかどうかを確認するには、そのユーザーが属するgroups_myuser_belongto = myuser.groups
すべてのグループを照会し、関連付けられているすべてのグループを照会する必要があります。私が興味を持っている組織は、groups_studentclass = sc_A.groups.all()
比較する必要がある 2 つのリストを持っているので、 を実行できますset(groups_myuser_belongto) && set(groups_studentclass)
。これにより、交差する 1 つ以上のグループを含む可能性のある新しいセットが返されます。1 つ以上のグループがある場合、myuser
は確かに のメンバーですsc_A
。
したがって、このモデル設計は、ユーザーが組織に属しているかどうかを確認するためだけに、多くの問題 (および追加のクエリ) を実行する必要があることを意味します。
また、m2m をグループに使用している理由は、django ガーディアンが提供するグループ レベルのアクセス許可機能を利用するためです。
そのようなモデル設計は実用的ですか?
それとも、そのような別のモデル設計を使用したほうがよいのでしょうか...
アプローチ #2
明らかに、このモデル設計により、ユーザー オブジェクトが特定の組織に属しているかどうかを簡単に確認できます。ユーザーjohn
が TeachingTeam のメンバーであるかどうかを確認するために必要なことは、次のことを確認することだけmaths_teachers
です。
しかし、このモデル設計が意味することは、ユーザー オブジェクトをグループに追加するとき(django ガーディアンのグループ アクセス許可機能を使用したいことを思い出してください)、save()
呼び出しによってユーザー オブジェクトが「Maths Teachers」グループに追加されることを確認する必要があるということです。 django.contrib.auth.models.Group
ANDをカスタムTeachingTeam
クラスの "Maths Teachers" オブジェクトに挿入します。そして、それはあまり DRY ではありません。言うまでもなく、両方のモデルへの保存呼び出しが単一のtransaction
.
このユースケース/要件を考慮してモデルを設計するより良い方法はありますか?djangoグループを使用し、djangoのネイティブグループ機能を「拡張」する方法を提供します(「ユーザープロファイルアプリ」でdjangoのユーザーモデルを拡張する方法とほぼ同じです) ?
c# - MVC .NET - アクセス許可ベースのシステムを許可するセキュリティ フレームワークはありますか
私はMVC .Netが初めてです。RBAC システムを実装したい。特定のメンバーが実行できる特定のアクション/権限があります。
これを可能にするセキュリティ フレームワークはありますか?
より詳しい情報
フォーラムに似たものを探しています-ユーザーは新しい投稿を作成したり、返信したりできます。一方、モデレーターは、投稿を変更したり、ユーザーを禁止したりする権限とそれらを許可する必要があります通常のユーザーに付与される権限。
私は、.NET フレームワークがメンバーシップ テーブルを提供していることを読みました。私はそれについてあまり知識がありませんが、私が理解したことから、ユーザーを特定のメンバーシップにグループ化するだけです. アクセス許可の概念はありません。
メンバーシップ テーブルの上に別のレイヤーを追加する必要がありますか (車輪を再発明しているように見えます)、またはこれを行うフレームワークが既にありますか。
java - セキュリティ ドメインへのアクセス時の EJBAccessException
EJB で単純な RBAC の例を実行しようとしていますが、クライアントが SecurityDomain を持つクラスからメソッドを呼び出すと、次のようになります: javax.ejb.EJBAccessException: JBAS013323: Invalid User.
これが私のセットアップです:
- サーバー プロジェクト
- EJB 3.1
- JBoss AS 7.1
- Picketbox (ダウンロードに付属する 3 つの jar ファイル)
クライアントは単純な Java プロジェクトです
後で保護したいサーバー プロジェクトのクラスは次のようになります。
META-INF の jboss-ejb3.xml には次のものがあります。
org.jboss.ejb3.annotation.SecurityDomain アノテーションをインポートできないため、このファイルを使用します。(多分私は間違った依存関係を持っていますか?)
jboss-as-7.1.0.Final\standalone\configuration の standalone-full.xml には、次のものがあります。
クライアント内で認証しようとしても、例外が発生します
または、クライアントを認証しない場合にクライアントが受け取る必要があるゲストの役割を使用するだけです (理由: name="unauthenticatedIdentity" value="guest")。別のことは、偽の資格情報を提供しても、SecurityClient からの LoginException がスローされないように見えることです。この後、私は SomeBean クラスの通常のルックアップを行い、それを SomeRemote にキャストします。unsecuredMethod(..) を呼び出すと、例外が発生します。私は両方で試してみました.Roleテーブルでゲストユーザーにロールを与えて、与えずに.
クライアント プロジェクト内では、SecurityClient とルックアップを使用する以外は、rbac または ejb に関連することは何もしませんでした。これが正しいことを願っています。
すべてを説明する優れたチュートリアルがあるかもしれません。私のソリューションは Jboss AS 6 チュートリアルに基づいているため、問題が発生する可能性があります。
編集:インターネットでこの例外を何時間も検索した後、jboss が認証に使用されるデータベーステーブルを見つけられない場合、常に「無効なユーザー」というメッセージが表示されるというヒントを本の中に見つけました。したがって、おそらくデータ ソースの構成に問題があります。
php - Yii フレームワーク: CPhpAuthManager エラー
このガイドを使用して RBAC を作成しようとしましたが、 これまでのところエラーなしで機能しましたが、モデルのルールが機能しないため、数時間行き詰まりました。次のコードでリーダーの役割をテストしてみます。
したがって、ログインした後、この小さなメッセージが表示されるはずですが、どういうわけか表示されません。たとえば、ログインしてモデルのインデックスにアクセスしようとすると、登録済みのユーザーが表示され、権限がないことがわかります。これを行ったとしても、
どんなアイデアでも大歓迎です。さらにコードを表示する必要があるかどうか教えてください。考えに戻ります。
database - ツリー システムでの役割ベースのアクセス制御
ツリー システムとして構造化されたユーザー権限システム用のデータベースを作成する最善の方法を見つけようとしています。
(説明目的で) 私は 3 つのレベルのコントロールを持っています:1
プロパティ グループ、2
プロパティ、3
建物。プロパティ グループには複数のプロパティがあり、プロパティには複数の建物があります。
各レベルで管理を設定したい。
aPropGroupAdmin
は、設定されたプロパティ グループ内のすべてのプロパティと、内部の建物を表示および編集できます。
設定されたPropAdmin
プロパティとその中の建物のみを表示できます
設定されたBldngAdmin
建物のみを表示できます
ユーザー Bobby は、プロパティグループ ID が 102 の PropGroupAdmin であると思います。これは、ビューから読み取ることができる一連の特定の特権に変換されます。
私が持っている質問は、階層を継承できるように GroupPrivileges テーブルを設定するにはどうすればよいかということです (それが正しい言葉であれば)。基本的に、ユーザーがタスクを実行するための適切な権限を持っているかどうかを確認するために読み取るだけのビューを作成できます。
私はそれがどのように機能するかを想像する小さなチャートを作成しました.
私はこれがこのように機能しないことを知っています.同様の結果を得るために変更を加えるためにホットを見つけようとしています.
php - RBAC ロール -> タスク -> 操作の推奨される方法は何ですか
Yii で srbac を使い始めました。
使用可能なオプション: 役割、タスク、および操作を作成してから、操作をタスクに、タスクを役割に割り当てます。
私の質問は、操作ごとにタスクを作成する必要がありますか? 最下位のユーザー レベルに 1 つの操作を割り当て、スーパー管理者に 4 つの操作を割り当てたいためです。
私が明確だったことを願っています、ダニー