問題タブ [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.
asp.net - ASP.NET Web アプリケーションでの組織単位とビジネス ロールの結合
企業向けの実際のエンタープライズ Web アプリケーションでは、ユーザーの単位と役割によってデータへのアクセスを常に制限する必要があります。
ある国に多くのショッピング ストアを持つ企業があるとします。
そのため、会社には本社があり、すべての支店のすべての請求書と統計にアクセスできます。国内の各地域は、それぞれの支店の地域販売戦略を管理および計画しています。その後、地域のユーザーは、その支店によって作成されたすべての請求書も見ることができます。各支店は、請求書、顧客を作成し、そのデータのみを表示できます。
2 つの主なアクセス制御定義があることがわかります。
1- 役割 (これは何年も前に考えられ、実装されていました!): RoleProvider を使用して簡単に実装し、UI レベル (web.config および sitemap.config) でアクセス制御を制御できます。
2- データを更新/表示するためのユーザー アクセスを拒否/許可するためのユニットとそのロールとの関係。
ユーザーのユニットとロールを取得するために ASP.NET にカスタム プリンシパルを実装しましたが、従来のソリューションが必要だと思います...
pylons - Pylonsアプリのアクセス制御?
各ビューのアクセスを制御するPylonsのクラスを知っていますか?
情報をありがとう!:)
python - システムの一部だけでなく、特定の情報へのアクセスを制御する
これはトリッキーな質問です。私たちはこの問題についてしばらく (数日間) 話し合ってきましたが、説得力のある良い解決策が見つかりませんでした。これは状況です:
- ユーザーとグループがあります。ユーザーは多くのグループに所属できます (多対多の関係)
- アクセス制御が必要なサイトの特定の部分がありますが、次のとおりです。
- アクセス制御が必要な特定のテーブルの特定の行があります。特定のユーザー (または特定のグループ) が特定の行を削除できないようにする必要がありますが、同じテーブルの他の行では、そのユーザー (またはグループ) に対して別のアクセス許可が設定されている可能性があります。
これを達成する簡単な方法はありますか?何か不足していますか?
これを Python で実装する必要があります (それが助けになる場合)。
git - トップレベルでのディレクトリ作成を禁止する Git フック
プッシュまたは直接ファイルの作成中に、ユーザーによるトップレベルのディレクトリの作成を停止するのを防ぐより良い方法はありますか?
.net - 既存のきめ細かいアクセス制御ライブラリ/フレームワーク?
私がこれらの種類の要件を持っているとしましょう:
ロールAAのユーザーAは、タイプA1のすべてのエンティティを更新できる必要があります。
ロールBBのユーザーBは、プライマリ識別子が「2」のタイプA1のエンティティのみを更新できる必要があります。これをA1( "2")と呼びますが、タイプA1の他のエンティティは更新できません。タイプB2の子エンティティをエンティティA1( "2")にいくつでも追加または削除できます。
ロールCCのユーザーCは、エンティティA1( "2")に属するこれらの子B2エンティティのすべてではなくほとんどのプロパティを編集できる必要があります。また、ロールCCのメンバーはA1( "2")からB2エンティティを追加または削除できません。 )。
ユーザーDはロールBBとロールCCに属しており、メンバーシップが組み合わされた結果、2セットの権限の結合から派生した権限があります(この場合、ロールCCの権限はロールBBの適切なサブセットであるため、これはこれは、ユーザーDがロールBBで許可されているすべてのことを実行できることを意味します)。
等々。これらのポリシーは展開後に変更される可能性があるため、変更を実装するために大規模な再開発作業を必要としないでください(この問題を解決するための宣言型アプローチに必要な場合など)。
アクセス制御リスト(ACL)は、保護対象のオブジェクトと一緒に、またはオブジェクトの内部に格納されると思います。
コードを作成する開発者は、現在のプリンシパル、検討中のオブジェクト、検討中の操作を識別する引数を使用して、単一のメソッド/関数/操作/プロシージャを強制的に(宣言的にではなく)クエリできる必要があると思います(おそらくこれを呼び出します)特権)、操作を許可するか拒否するかを示す単一のブール値を取得します。
私の仮定に自由に挑戦してください。
今、私はすでにシンプルでありながら効果的な独自の一般的なソリューションを念頭に置いています(私がすでに本番環境にコミットし、非常にうまく機能している作業に基づいています)。これをオープンソースプロジェクトとして公開することを検討しています。
しかし、それを次のレベルに引き上げてこのビースティーを構築する前に、開発者がこの種の実装をすでに支援している、広く受け入れられているシステム、モジュール、またはライブラリ(必ずしも.NETである必要はありません)を知っている人はいないかと思いました。エンティティのきめ細かい制御(データベースレコードまたはORM内のオブジェクトなどを意味するかどうか)。
PWこれをSOに投稿する前に回答を確認したところ、Zend_AclがLAMPプロジェクトに対してこの種の機能を備えている可能性があることを示唆する回答(SO LINK)を他の場所で見つけましたが、代わりに.NET/Windowsソリューションを使用したいと思います。
apache - Apache サーバーからのファイルへのアクセスを制限するには?
ユーザーがファイルをアップロードできるようにすると、ユーザーがファイルをアップロードした後、ファイルは
wwww.someplace.com/public_file/... ....
したがって、誰もがファイルにアクセスできます。しかし、それにはいくつかの制限を加えたいと思います。たとえば、ログインしていないユーザーのダウンロード速度を下げたいとします。どうやってやるの?また、ユーザー権限がない場合にファイルを取得するユーザーを制限したい場合... ...たとえば、一部のユーザーがにアップロードする場合
ユーザーだけがいくつかの権限を持ち、この場所にアクセスできます... ...どうすればできますか? Web アプリケーションと Apache サーバー構成でもこれを行う必要がありますか? ありがとうございました。
.htaccess - http_referを使用して、Flash Playerアクセスを許可しながら、フォルダーへの直接アクセスをブロックすることは可能ですか?
サーバーにmp3ファイルがあり、サイトのフラッシュプレーヤーからアクセスしたい。緊密な同僚によって提案されているように、http_referを使用してこれを行うことは可能ですか?
私の調査に基づいて、私は以下のコードに出くわし続けましたが、それは私のフラッシュプレーヤーを含むすべてをブロックします。.htaccessファイルを操作するだけでFlashPlayerにファイルへのアクセスのみを許可するにはどうすればよいですか?
< Files *>
Deny from all
< /Files>
php - モジュールを使わない「管理パネルモジュール」の実装(MVC関連)
モジュールをサポートしていない貧弱な MVC フレームワークがあるとします。私たちの目的は、いくつかの機能を備えた管理パネルを実装することです。すべての管理パネル機能の URL は /admin (/admin/add_user、/admin/remove_user) などで始まります。モジュールがないため、管理コントローラーを作成する必要があります (はい、このコントローラーはおそらく非常に大きくなります)。 .
誰でもアクセスできるこの方法をどのように保護できますか? .ht /admin フォルダーにアクセスするのは良い考えではないと思います。
ありがとうございました。
design-patterns - きめ細かいメソッドとプロパティアクセスを備えたプログラミング言語
このようなものを想像してください:
この場合、テストはインターフェイスに適用されるため、「サポート」の概念は二次的ですが関連性があります(したがって、言語は、すべての実装が合格する必要があるインターフェイステストと、実装プライベートに固有の実装テストを区別します。
しかし、ここで伝えたい重要なアイデアは、アクセス制御のセマンティクスです。「accessfrom」キーワードを持つA.sumは、メソッドB.calculatorからのみ呼び出すことができることに注意してください。それ以外のものは、コンパイル時エラーとして検出されます。ここでの考え方は、よりきめ細かい方法でアーキテクチャの制約を適用することです。「accessfrom」を追加しなかった場合、または「access from *」を追加しただけの場合は、メソッドをどこからでも呼び出せるようにするデフォルトの動作を意味します。どのようなアーキテクチャ上の制約がありますか?レイヤードデザインを行うときに手動で適用される種類:レイヤーA(最低レベル)はレイヤーB(中間レベル)から使用され、レイヤーB(中間レベル)はレイヤーC(高レベル)から使用されます。ただし、レイヤーBはレイヤーAからアクセスできず、レイヤーCはAとBのどちらからもアクセスできません。
質問:上記のセマンティクスをサポートする言語(ソース間中間言語を含む)を知っていますか?この種のセマンティクスが逆効果であるか、危険であるか、または単に悪い設計を助長するかどうかを議論するための追加のポイント
更新:この種の制限には、もう1つの非常に重要なユースケースがあります。
イベント駆動型プログラミング:通常、イベントの問題は、イベントの実行が多すぎる傾向があり、イベントの依存関係のチェーンを理解するのが難しい場合があることです。
したがって、たとえば、イベントハンドラーには、対話できる表示可能なクラスの特定のセット(または、逆に、触れることができないオブジェクトの特定のセット)のみがあると定義できます。
access-control - 荒らしを続ける-IP禁止は有害と見なされますか?代わりに何を使用しますか?
私は、トロール(私が知る限り、1人の物理的な人)に悩まされているディスカッションフォーラムの技術的な側面を運営しています。コミュニティは、対面を含むすべてのコミュニケーション手段(合理的な疑いの余地なく、無知なユーザーではなく、net.troll )を使い果たしたようです。
その人がサイトにアクセスするのをブロックする必要があるかもしれませんが、その方法はわかりません(すでに自分の意思で離れることを拒否しています)。サイトには、ユーザー名を取得する電子メールアドレスで登録する必要があります。ユーザー名をブロックすることはできますが、トロールは同じように簡単に新しいユーザー名を登録できます。
さて、「IP禁止の方法とその層」についてはたくさんのQ&Aがありますが、面倒な価値はありますか?
IP禁止はトロールをブロックするのに役立ちますか?そうでない場合は、何ですか?または、IP禁止を他の形式の保護と組み合わせることができますか?
私がIP禁止に関して抱えている問題はたくさんあります:
- トロールはいくつかの異なるIPブロックから入ってくる(自宅/学校/オープンwifi / ...?)
- IPアドレスは動的に割り当てられているようです(通常、ここではDSLを使用)
- おそらくプロキシやVPNを介して、新しいアカウントで靴下をはいたのではないかと思います
- 少なくとも1つのケースでは、同じIPから他のユーザーがアクセスしています(大規模なNATが確認されています:この場合、大学全体が単一のパブリックIPアドレスの背後からWebにアクセスしています)
技術的な手段で社会問題と戦っていくようで、その見通しは暗いようです。