問題タブ [acl]

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

zend-framework - モジュール構造のZend_ACL?

http://framework.zend.com/manual/en/zend.controller.modular.htmlを読んで、Zendを使用してMVCを作成しました。

問題は、モジュラー構造でZend_ACLを使用する方法が見つからないことです。Zend_Aclには、モジュールを追加するメソッドがありません。コントローラーとアクションを追加することしかできません。

モジュラー構造でZend_Aclを使用するにはどうすればよいですか?Zend Frameworkの現在のバージョンでも可能ですか?

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

cakephp - CakePHP を使用した ACL インターフェイス (gui) のモデル関係の定義

CakePHP アプリで Auth と ACL を正常にセットアップしました。

ACL、ARO、ACO を管理するためのインターフェイスを構築したい

ARO と ACO は、ツリーの動作を使用して非常に簡単に構築できます。ACL は、私を少し混乱させてしまいました...特に、モデル関係の定義に関しては。

Aco と Aro は既に AclComponent を使用しているため、私の aco と aro モデルにそれぞれ Myaco と Myaro という名前を付けました。私の ACL モデルは Myacl です。

Myaco は「スタンドアロン」オブジェクトであり、他のモデルとは関係ありません。Myaro "belongsTo" 'Customer' モデル (これは私の「ユーザー」モデル) であり、次のように定義されています。

Myacl モデルは、私が理解しているように、$hasAndBelongsToMany -> Myaco と Myaro です。これは、他の 2 つのモデルを結合するテーブルであるためです。そのため、次のように設定しました。

ここで、ACL のメインの「インターフェイス」を構築するために、ACL レコードを「検索 ('all')」し、「顧客」レベルまでリンク (再帰) したいと考えました。これにより、グループとaroテーブルからの実際の顧客。recursiveMyaclモデルのパラメータを「2」に設定しました

デバッグ ペインの SQL クエリから判断すると、関係はまったく正しくありません。関係の設定方法が完全に間違っていたのでしょうか。

find('all') 呼び出しからの基本的な SQL クエリを次に示します。

このコードから (Myacl コントローラー内):

クエリは次のとおりです。

「顧客」クエリの量と結合から、モデルの関係で何かが深刻に「ずれている」ことがわかります。

アドバイスやリードは大歓迎です。ありがとう、ケン。

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

php - プレフィックスルーティングによる CakePHP 認証

私は3つのセクションが欲しいCakePHPでサイトを構築しています:

  • 公共の場
  • ユーザーエリア
  • 管理エリア

私はのように見えるroutes.phpでプレフィックスルーティングをセットアップしました

まだログインしておらず、ユーザータイプが「通常」の場合、user_プレフィックスを持つアクションはすべてログイン画面にリダイレクトされ(副次的な質問:ユーザーは通常にできますか:P)、admin_プレフィックスを持つアクションもリダイレクトされますが、必要です管理者のユーザー タイプ。

私は Auth コンポーネントを使おうとし始めましたが、ACL が過剰に思えるのに対し、柔軟性がないように思えます。私が望むものを達成するための最良の方法について、誰かアドバイスをいただけますか?

0 投票する
3 に答える
11438 参照

spring - SpringSecurityのグループ化とACL

Spring Securityを使用して、ユーザー、グループ、および権限を管理したいと思います。

ACLを使用してドメインオブジェクトを保護したいのですが、グループをACLに割り当てる方法が見つかりません。

例:ユーザーとグループがあります。各グループは、次のセキュリティを持つことができます。-フォーラムを管理する(のような役割にすることができますROLE_FORUM_MANAGER)-特定のフォーラムを編集します(特定のフォーラムのacl)。

さらに、グループはロールを持つユーザーによって定義されますROLE_PERMISSION_MANAGER。ただし、このユーザーによって定義されたすべてのグループは、このユーザーのみが編集および管理できます。したがって、グループはユーザーに関連付けられます。正確には、ユーザーがGoogleグループを作成するとします。このユーザーは、自分が作成したグループに対してのみ適切な権限グループを管理できます。そして、彼は独自のグーグルグループの特定のフォーラムを管理するためのグループを作成することができます。

どうすればいいですか?

私は春のセキュリティドキュメントと次のチュートリアルを読みました(したがって、これらのリンクに私を送らないでください):http: //grzegorzborkowski.blogspot.com/2008/10/spring-security-acl-very-basic-tutorial.html http://blog.denksoft.com/?page_id=20

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

php - セッションのみでそれを行うことはできますか、それともACLが必要ですか?

PHP / MySQL/Codeigniterを使用して簡単なプロジェクト管理システムを作成することを計画しています。

スーパー管理者、管理者、および約20人のユーザーが存在します。ユーザーA、B、C..。

そして、約50のプロジェクトがあります。プロジェクト1、2、3..。

ユーザーAとBはプロジェクト1ページにアクセスでき、ユーザーC、DとFはプロジェクト2ページにアクセスできます。

セッションでできますか?

または、ACLを使用する必要がありますか?

DBをどのように構成する必要がありますか?

アイデアをお願いします。

0 投票する
4 に答える
1399 参照

grails - Grails のフィールド レベルの ACL

新しいソフトウェア プロジェクトでは、次の要件があります。Web ページには一連のデータを表示する必要があります。このデータは、一部のユーザー (ロールに割り当てられた、つまりマネージャー) によって編集可能であり、他のユーザーのみが表示できます。トリッキーな部分を例で説明します
。ユーザーページは、アドレスデータとアカウント情報で構成されています。アドレスデータは利用者と管理者が編集可能であり、すべての利用者が閲覧できるものとし、アカウント情報は実際の利用者と管理者のみが閲覧できるものとします。

SpringSecurity に関する多くの情報を読みました。URL やメソッド、さらにはドメイン クラスにパーミッションを付与するための非常に優れたフレームワークを提供します。しかし、必要なのはフィールド レベルの ACL です。少なくとも、現時点ではそう思っています。

問題は、Grails を使用してこの問題を解決するにはどうすればよいかということです。

事前にどうもありがとう、

よろしくダニエル

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

php - CakePHP Acl チュートリアルを実行しています。aros_acos に入力できないようです

チュートリアルを正しく完了したと断言できたのに、エラー メッセージが表示され、 aros_acos テーブルが空です。

私がすでに行ったこと:

  1. このページ: http://book.cakephp.org/view/646/Creating-ACOs 「cake acl create aco root controllers」を実行したところ、「New Aco 'controllers' created.」が返されました。「$this->Auth->actionPath = 'controllers/';」も追加しました。AppsController の beforeFilter() に。コードの他の部分は、どこに行くべきかについて説明が不十分であるため、理解できません。「AclComponent を使用する」とは正確にはどういう意味ですか?

  2. このページから build_acl() を実行しました: http://book.cakephp.org/view/647/An-Automated-tool-for-creating-ACOs これにより、「acos」テーブルに 46 のエントリが入力されました。

  3. 問題があると思われるページは次のとおりです。私が使用しているグループのID:

    function initDB() { $group =& $this->User->Group;

    }

また、ユーザーとグループのコントローラーから allowedActions へのすべての参照を取得し、投稿、ウィジェット、および AppController ページに正しいコードを追加しました...

http://localhost/basic_cake2/groups/initDBにアクセスして AppController 内で initDB() を実行すると、画面の上部に警告メッセージが表示されます。それは言います:

DbAcl::allow() - 無効なノード [CORE/cake/libs/controller/components/acl.php、325 行目]

環境:

$aro = stdClass stdClass::$id = 5 $aco = "コントローラー" $actions = "*" $value = 1 $perms = false $permKeys = array( "_create", "_read", "_update", "_delete " ) $save = 配列()

コード:

無効なノード', true), E_USER_WARNING);

また、次のことも示します。

DbAcl::allow() - CORE/cake/libs/controller/components/acl.php、325 行目 AclComponent::allow() - CORE/cake/libs/controller/components/acl.php、101 行目 AppController::initDB () - APP/app_controller.php、23 行目 Object::dispatchMethod() - CORE/cake/libs/object.php、116 行目 Dispatcher::_invoke() - CORE/cake/dispatcher.php、227 行目 Dispatcher:: dispatch() - CORE/cake/dispatcher.php、194 行目 [メイン] - APP/webroot/index.php、88 行目

aros_acos テーブルを確認すると、何も追加されていないことがわかりました。

したがって、認証はどのページでも機能しません... :(誰かアイデアはありますか?これをデバッグする方法がわかりません。 -ドキュメントを読んでください。

編集: わかりました。チュートリアルをもう少し詳しく読んだところ間違ったファイルから関数を実行していたことがわかりました。これを Users Controller に移動し、aros_acos テーブルに 3 行追加しました。

ただし、まだエラー メッセージが表示されるので、まだ何か問題があると思います。

エラー メッセージのコンテキストが変更されたように見えますが、これは興味深いことです。現在は次のようになっています。

$aro = グループ

Group::$name = "グループ"

Group::$validate = 配列

Group::$hasMany = 配列

Group::$actsAs = 配列

Group::$useDbConfig = "デフォルト"

Group::$useTable = "グループ"

Group::$displayField = "名前"

グループ::$id = 6

グループ::$データ = 配列

Group::$table = "グループ"

Group::$primaryKey = "id"

Group::$_schema = 配列

Group::$validationErrors = 配列

Group::$tablePrefix = ""

Group::$alias = "グループ"

Group::$tableToModel = 配列

Group::$logTransactions = false

グループ::$トランザクション = false

Group::$cacheQueries = false

Group::$belongsTo = 配列

Group::$hasOne = 配列

Group::$hasAndBelongsToMany = 配列

Group::$Behaviors = BehaviorCollection オブジェクト

Group::$whitelist = 配列

Group::$cacheSources = true

グループ::$findQueryType = NULL

グループ::$再帰 = 1

グループ::$order = NULL

グループ::$__exists = NULL

Group::$__associationKeys = 配列

Group::$__associations = 配列

Group::$__backAssociation = 配列

グループ::$__insertID = NULL

グループ::$__numRows = NULL

Group::$__affectedRows = NULL

Group::$_findMethods = 配列

グループ::$_log = NULL

Group::$User = ユーザー オブジェクト

Group::$Aro = Aro オブジェクト

$aco = "コントローラー/投稿"

$actions = "*"

$値 = 1

$perms = false

$permKeys = 配列(

"_作成"、

"_読んだ"、

"_アップデート"、

"_消去"

)

$save = 配列()

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

c# - ACLを介してレジストリキーを保護し、管理者以外のすべてのアクセスを削除します

クライアントマシンでアクセスできる必要があるいくつかの重要な情報を使用してレジストリキーをロックダウンしようとしています。管理者以外のユーザーがこのキーにアクセスできるようにしたくありません。あなたが管理者であれば、私がキーに保存しているものよりも多くのダメージを与えることができます。

私が現在やろうとしていることはこれです:

私がそれを正しく持っている場合、これはすべての人へのアクセスを拒否し、管理者グループのすべての人へのアクセスを明示的に許可し、継承されたすべてのアクセス許可が私のキーに適用されるのを防ぎますか?キーのACLを台無しにして削除できないようにする前に、それが機能するかどうかを確認したいのですが、キーの所有者も管理者グループに設定する必要がありますか?

PS:キーは、変更されただけでなく、管理者以外の人としても読み取れないことが非常に重要です。

0 投票する
3 に答える
1862 参照

cakephp - CakePHP ACL - オンザフライの権限管理?

ご挨拶!

私は CakePHP の初心者で、ACL 機能を使い始めたばかりです。外から見るとかなり問題ないように見えますが、使い始めたら..まあ、もう大丈夫ではありません:)

グループのアクセス許可をその場で変更できるようにする必要がある管理バックエンドを備えたアプリケーションに取り組んでいます。私はかなり長い間グーグルを苦しめてきましたが、それを実装する方法についての良い例を見つけることができませんでした. コマンド ライン ツールに関する投稿をたくさん見つけましたが、自分のアプリケーションでは使用したくありません。

これを実装する方法、またはそれに対処する適切なチュートリアル/ハウツーを知っている人はいますか?

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

zend-framework - ACL で異なるアプリケーション ドメインを表す方法は?

私は、さまざまなユーザー グループがリソースへのさまざまなアクセス権を持つ Web アプリケーションに取り組んでいます。これまでのところ特別なことはないと思いますが、注意点があります。アプリケーションは「ドメイン」に分割されているため、クライアント組織のそれぞれが独自のコンテンツを持っています。ここでは、より単純なモデルを使用して問題を説明しています。

各ドメインには同じリソース タイプがありますが、各リソース インスタンスは 1 つのドメインにのみ接続されます。1 つのドメインの場合は次のようになります。

Zend_Acl を使用してこれを実装するための 2 つの異なるアプローチを考え出しました。1 つ目は、ドメインごとに上記をコピーして、ドメインごとに異なる ACL を使用することです。2 つ目は、1 つの ACL のみを使用し、各ドメインに新しいロールを追加することです。

2 番目のアプローチには、ユーザーがあるドメインの管理者でありながら、別のドメインの編集者になることができるという利点があります (実際に発生する可能性があります)。ただし、ロールが静的ではないという欠点もあります。ドメインを追加または削除するたびに生成する必要があります。

これらのアプローチのいずれかが有効か、または複数のドメインを処理するためのより良い方法はありますか?