問題タブ [authorization]
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.
wcf - WCFでのフォーム認証エラー
Anonomous Accessがオフになっていて、Windows認証がオンになっているWCFWebサービスに接続しています。web.configファイルには、ユーザーを許可し、users = "?"を拒否するためのローカルユーザーアカウントがあります。
サービスプロキシを正常にダウンロードして生成できますが(クレデンシャルの入力を求められます)、Windowsフォームプロジェクトから(クレデンシャルを渡した場合でも)、次のエラーが発生します。
これが私のサンプルコードです:
asp.net - スケーラブルで再利用可能な認可モデル
わかりましたので、少しアーキテクチャのガイダンスを探しています。私のチームは、構築中の新機能で特定の決定を再キャストする機会を得ており、SO の考えを見たいと思っていました :-)もちろん、私たちが変えていない特定のことなので、解決策はこのモデルに適合する必要があります. つまり、Web サービスを使用してユーザーがシステム上でアクションを実行できるようにする ASP.NET アプリケーションを用意したということです。
多くのシステムと同様に、さまざまなユーザーがさまざまな機能にアクセスする必要があるため、問題が発生します。Y ボタンにアクセスできるロールもあれば、Y ボタンと B ボタンにアクセスできるロールもあれば、B にしかアクセスできないロールもあります。これを目にするほとんどの場合、開発者は対処するために if ステートメントをごちゃまぜに入れただけです。 UI の状態。私の懸念は、未チェックのままにしておくと、これは保守不可能な混乱になることです.GUIに承認ロジックを配置することに加えて、承認されたユーザーのみが特定のメソッドを呼び出すようにするために、Webサービス(ajax経由で呼び出される)に配置する必要があるためです。 .
私の質問は、GUI/Web フォーム コードと Web サービス コードの両方で再利用できる特定のロールをチェックするランダムなアドホック if ステートメントをあちこちに減らすようにシステムを設計するにはどうすればよいかということです。
わかりやすくするために、これは Web フォームとAJAX 機能用のScript#を使用する ASP.NET Web アプリケーションです。スクリプト#が答えを捨てさせないでください。それはasp.net ajaxと根本的に違いはありません:-)
asp.net-mvc - ASP.NET MVC を使用して特定のユーザーへのアクセスをどのように制限しますか?
たとえば、売り手だけが自分のリストを編集できる eBay タイプのアプリケーションがあるとします。編集中のアイテムの ID と現在ログインしているユーザーに基づいて、編集アクションへのアクセスを制限するにはどうすればよいですか?
私が知る限り、 Authorize 属性では、ユーザーが認証されているかどうかとその役割に基づいて、コントローラー アクションへのアクセスを制限することしかできません。これは、コントローラー内で手動で処理する必要があるだけですか?
asp.net-mvc - AuthorizeAttribute が認証および承認の失敗に対してログイン ページにリダイレクトされるのはなぜですか?
AuthorizeAttribute
ASP.NET MVC では、次のように、コントローラー メソッドを でマークアップできます。
これは、現在ログインしているユーザーが「CanDeleteTags」ロールに属していない場合、コントローラー メソッドが呼び出されないことを意味します。
残念ながら、失敗した場合AuthorizeAttribute
は が返さHttpUnauthorizedResult
れ、常に HTTP ステータス コード 401 が返されます。これにより、ログイン ページにリダイレクトされます。
ユーザーがログインしていない場合、これは完全に理にかなっています。ただし、ユーザーがすでにログインしているが、必要な役割を持っていない場合、ログイン ページに戻すのは混乱を招きます。
AuthorizeAttribute
認証と承認を混同しているようです。
これは、ASP.NET MVC の見落としのように思えますが、何か不足しているのでしょうか?
私はDemandRoleAttribute
2つを分離するものを調理しなければなりませんでした。ユーザーが認証されていない場合、HTTP 401 を返し、ログイン ページに送信します。ユーザーがログインしているが、必要な役割を持っていない場合は、NotAuthorizedResult
代わりに を作成します。現在、これはエラー ページにリダイレクトされます。
きっと私はこれをする必要はありませんでしたか?
rest - REST リクエストの承認
私は、いくつかの要件を持つ REST サービスに取り組んでいます。
- 安全でなければなりません。
- ユーザーがリクエストを偽造できないようにする必要があります。
私が現在提案している解決策は、次のようなカスタム Authorization ヘッダーを使用することです (これは、Amazon Web サービスが機能するのと同じ方法です)。
私の質問は、署名を形成する方法です。ユーザーがサービスにログインすると、リクエストに署名するために使用できる秘密鍵が与えられます。これにより、他のユーザーが代理でリクエストを送信することはできなくなりますが、リクエストを偽造することはできなくなります。
このサービスを使用するアプリケーションは iPhone アプリケーションなので、アプリケーションに公開鍵を埋め込んで追加の署名を行うことができると考えていましたが、これは 2 つの署名が必要になるということですか?ユーザーキー用とアプリキー用ですか?
どんなアドバイスでも大歓迎です。私はこれを初めて正しくしたいと思っています。
security - 特定のデータベース オブジェクトまたはレコードに対する権限のユーザー アクセス チェック
ユーザーがログインして Web アプリケーションのドキュメントにアクセスしている状況について、開発者と友好的な議論をしています。ユーザーが表示できるようにドキュメントをロードすると、セッション内のユーザー ID と、QueryString を介して渡される可能性のある documentID が取得されます。
ユーザーが QueryString の documentID を変更できないようにするために、ドキュメントをロードするストアド プロシージャが UserId をパラメーターとして使用し、ドキュメントに対する権限を検証することを提案します。
私の開発者の友人は、別の手順を実行してページの早い段階でドキュメントへのアクセス権を決定し、ドキュメントを表示する必要があるときにドキュメントを取得する手順を実行することを提案しています。
何か不足していますか?最も効率的で安全なのはどれですか? UserId と DocID を 1 つのプロシージャ コールに渡して、権限を確認し、ドキュメントをプルする方が効率的なソリューションだと思いました。
asp.net - ASP.NET Web アプリケーションの認証システム?
質問があります:
役割ベースの Web アプリケーションを作成するには? フォーラム サイトのように、多くのユーザー タイプ、管理者、モデレーターなどがあります。これらのユーザー タイプの役割は、データベースまたは web.config に保存されていますか? ユーザーが私たちのサイトにログインするとき、このユーザーの役割をどのように制御しますか? 要するに、承認と認証について学びたいのです。
ありがとう..
ruby-on-rails - Web アプリケーションにきめ細かい認証を実装する最善の方法は?
私は Rails Web アプリケーションに取り組んでおり、現在約 20 人のユーザーが使用しています。
アプリケーションの一部は一部のユーザーのみがアクセスできるため、acts_as_authenticated プラグインを使用して実装した基本的な承認フレームワークが既に用意されています。
ユーザーの権限は、所属する部門によって異なります。たとえば、管理者はアプリケーションのすべての部分にアクセスできますが、会計は会計関連の部分にのみアクセスでき、営業は販売関連の部分にのみアクセスできます。
一方、ユーザーには、権限が不十分なアクションへのリンクが表示されます。たとえば、営業部門の担当者は、メイン メニューに財務記録へのリンクが表示されますが、クリックしても何も起こりません。これは、acts_as_authenticated を使用してユーザー権限を照会する効率的な方法がないためです。
これを2つの方法で変更したい:
よりきめ細かい認可を導入したいと考えています。現在、承認はコントローラ レベルで行われます。アクションまたはモデルレベルでこれを行いたいです。たとえば、営業部門の担当者は、支払いの作成と更新はできるが、削除はできないようにしたいと考えています。
ユーザー権限を効率的に照会できるようにしたいので、インターフェイスから不要な (そして紛らわしい) リンクを削除できます。
これを実装する最もエレガントな方法は何だと思いますか?
Rails 固有の回答は必要ありません。データ駆動型アプリケーションでこれをどのように実装する必要があるかを知りたいだけです。
最後に、現在の実装方法は次のとおりです。
そして、これが私の最初のアイデアです。これは、これを解決するための最良の方法ではないと思います。
また
asp.net-mvc - ASP.NET MVC を使用して RSS フィードへの承認を許可するにはどうすればよいですか?
当店では、社内プロジェクト管理アプリケーションを ASP.NET Web フォームから ASP.NET MVC に変換中です。
現在未解決の問題の RSS フィードを顧客に提供したいと考えています...しかし、ログインとパスワードなど、ある種の認証が必要です。
これは ASP.NET MVC を使用して可能ですか、それとも WCF などの他のサービスを使用して行う必要がありますか? サンプルコードをいただければ幸いです。
.net - .NET で NHibernate を使用する場合の承認の処理方法
リポジトリ パターンを使用して、NHibernate を使用してデータベースにクエリを実行しています。これにより、次のようなことが非常に簡単になります。
public T GetById(int id) {...}
しかし、誰かが許可されていないものを確認するためにクエリ文字列をいじり始めた場合、それはあまり役に立ちません。
さらに複雑なことに、一部のオブジェクトは、承認を実行する必要がある親オブジェクトの深くネストされた子です。
たとえば、ブログ --> 作成者 --> 投稿 --> コメント。この不自然な例では、作成者が自分の投稿とそれらの投稿に対するコメントを編集できるようにしますが、他の作成者の投稿を表示または編集することはできません。投稿が投稿者のものであることを確認するのは簡単ですが、コメントが投稿者のものであることを確認するのは少し難しいです。より深くなる例がいくつかあります。
では、(モデルまたはリポジトリで) 承認を行うにはどうすればよいでしょうか?