問題タブ [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.
asp.net - ASP.NET web.config 認証設定は無視されました
別のサイトのサブディレクトリにアプリケーションとしてセットアップされた asp.net (動的データ) Web サイトがあります。このサイトには、最上位サイトとは異なるセキュリティ設定が必要です。何かのようなもの:
これらの設定は、サブ サイトでは無視されます。ただし、トップ レベル サイトで動作しますが、トップ レベル サイトに設定してもサブサイトには継承されず、自由にアクセスできます。これらの設定が無視される原因は何ですか? 私は追加しようとしました:
最上位の web.config に移動し、サブ サイトで上記の承認規則を設定して、すべてのユーザーを拒否しようとしました。サイトにアクセスすると、http://mysite/mybrokensiteのようになります。
Windows 認証を使用しています。
apache - Apache/nginx のきめの細かい (ファイルごとの) アクセス許可?
Apache または nginx のいずれかを使用して、きめの細かいパーミッションを設定することは可能ですか? 多数のファイルと多数のユーザーがいる場合、認証された各ユーザーが自分のファイルにのみアクセスできるように指定する良い方法は何ですか?
これらは静的な読み取り専用ファイルです (ほとんどの場合)。アクセス制御のようなファイルシステムを想像してみてください。Web-dav はありません。これは Web アプリの一部です。画像はブラウザでユーザーのページの一部として表示されます。URLを見つけたとしても、他の人が画像を見ることができないようにしたい.
jquery - $.ajax の一部のパラメーターが渡されない
私はこの機能を持っています
ただし、パラメータ:
- 方法
- 送信前
- キャッシュ
私のブラウザFF3、IE8、およびChromeでは無視されます。したがって、そこに何を置いても、ブラウザによって指定された URL に送信されるリクエストは変更されません。たとえば、メソッドを「POST」に設定できない、またはさらに重要なことに、リクエストの一部として Authorization パラメータを配置できないため、HTTP Authorization フォーム処理されます。
もう 1 つの奇妙な動作は、dataType:"json" でない限り、FF3 で LiveHTTPHeaders を使用して示されているように、要求または応答が送受信されないことです。たとえば、dataType:"xml" の場合。
URL はブラウザによって正しく処理されているようです。
これらの問題を抱えている人は、これらの追加のパラメーターが送信されるようにするにはどうすればよいですか?
asp.net - どの認証スキームと認可スキームを使用していますか? またその理由は?
作成する新しいサービス (WCF、ADO.NET Data Services、おそらくクラウド内) を大量に設計し始めており、ポップアップする 1 つの質問は、どの認証および承認スキームを使用するかということです。少し!
基本的に、HTTP、HTTPS、TCP などのさまざまなプロトコルでユーザー (実際の人、および「仮想」アプリケーション/サービス ユーザー) を識別できるようにする必要があり、少なくとも一連の役割/許可をそれらに割り当てる必要があります。特定のデータを表示したり、特定の操作を実行したりします。
Windows グループ メンバーシップを単独で使用することは絶対にできません。サービスの外部コンシューマーが多数あり、内部ドメインにドメイン アカウントをセットアップする必要はありません。
したがって、主に3つのオプションがあると思います。
- ASP.NET メンバーシップ システムの使用 - ユーザーを作成し、そこにロールを割り当てる
- より粒度が高く、より成熟した、より精巧なシステムと思われる AzMan (承認マネージャー) を使用します (ユーザー、タスク、グループ - ユーザー + ロールだけでなく、3 つのレベル)
- 私たち自身のロール
まず、この3つのうちどれがお勧めですか?なんで?
第二に、私が見逃しているオプションは他にありますか?
ヒント、ポインタ、意見をありがとう!
マルク
PS: これまでの回答を見て、オプション #3 に投票する人の数に驚いています。私は、MS がこれらすべての要件を処理できる再利用可能なものを設計できると考えていたでしょう....
authentication - カスタムメンバーシップおよびロールプロバイダーを作成するという私の考えを放棄することを考えています。意見?
ASP.NETで構築しているWebアプリがあり、次のセキュリティ要件があります。
- ユーザーがサードパーティのサイトを介してログインしたことを示すために、アプリケーションに一意のキーを返すマスター認証スキームと統合できる必要があります。
- 既存のuser/rolesテーブルを使用できる必要があります。
- フォーム認証を使用し、ユーザーがサードパーティのサイトのメンバーでない場合は、別のログインページからログインできるようにすることができます。
SQLロールとメンバーシッププロバイダーをカスタマイズしようとしましたが、特に、uniqueIdentifier(providerKey)を持ち、独自のカスタムキーセット用のスペースがない強い型のMembershipUserオブジェクトがあるという問題が発生しました( 2)ユーザーを識別します。
カスタムメンバーシッププロバイダーの実装を放棄し、代わりにCookie /セッションを使用する必要がありますか?組み込みの機能を本当に使いたいのですが、うまくいかないようです。
authentication - サーバー間認証にOAuthを使用していますか?
私は現在、リソース指向のRESTfulWebサービスとなる会社の新しいパートナー/パブリックAPIの指定に取り組んでいます。現時点で欠けているパズルのピースは、認証/承認です。
要件は次のとおりです。
- 最初は、サーバー間環境で機能する必要があります。たとえば、サーバーアプリケーションは、APIを呼び出しているユーザーを認識できるように、サーバーアプリケーション自体を識別できる必要があります。
- 将来的には、ユーザーアカウントになりすますことを許可したいと考えています。そのため、識別されるサーバーには、限られた期間のユーザーアカウントを表すトークンが含まれるようになります。
OAuthは、(2)トークンを取得し、ユーザーが資格情報を入力して認証するWebサイトにリダイレクトし、そのトークンを使用してアプリケーションとユーザーの両方を識別/認証するワークフローで理想的と思われます。
しかし、私が読んだことから、それが(1)に適しているかどうかはわかりません-つまり、有効なユーザー固有のトークンがなく、したがって必要のない呼び出し元のアプリケーションを識別するためだけにOAuthを使用できる方法はありますか?資格情報を入力するためにWebページにリダイレクトされますか?
web-services - ワークステーションAとBで同じクレデンシャルを使用した場合、偽装は許可に失敗します
ケース1.JOHNXP(http:// localhost / WebClientなど)と呼ばれる自分のPCから小さなテストサイトを参照すると、.aspxページがASMX Webサービスを呼び出し、資格情報を取得して別のマシン上の別のWebサービスに渡します(同じドメイン内のSERVERTRIM)。要求の結果、資格情報を使用してSERVERTRIMマシンにセキュリティログエントリが表示されます。
ケース2.同じドメイン内の別のPCに移動し、個人のデスクトップで使用したのと同じ資格情報でログオンします。上記の同じテストサイト(今回はhttp:// johnxp / WebClient)を参照すると、これが.aspxページに浸透します。
System.Web.Services.Protocols.SoapException:サーバーはリクエストを処理できませんでした。---> System.Net.WebException:リクエストがHTTPステータス401:Unauthorizedで失敗しました
SERVERTRIMのセキュリティログを見ると、ケース2のアクセスにより、401/Unauthorizedを説明しているように見えるANONYMOUSLOGONが発生したことがわかります。
WSが別のサーバー上のベンダーのWebサービスを呼び出すときに、ログインしたDOMAINユーザーの資格情報を使用するようにWebサービスを取得しようとしています。
ASMX Webサービスはデスクトップで実行されます(IIS 5.1 WinXP Pro-マシン名はJOHNXPです)。関係するすべてのサーバーで匿名のUNCHECKEDを有効にし、シナリオに関係するすべてのweb.configでこれを使用しています。
ベンダーのWebサービスはSERVERTRIM(Win 2003 Server)で実行され、ASMXでもあり、WSE3.0を使用します。
WiresharkとNetmonは、今のところ私にとってツールとしては手ごわいように見えます。「リモート」サーバー(SERVERTRIM)で結果として得られるさまざまなLOGONは、十分な「証拠」であると考えています。上記のすべてのマシンは同じドメインにありますが、可能な場合は、「リモート」WebサービスをSERVERTRIMに、中間Webサービスを同じドメインの別のサーバーに保持したいと思います。このシナリオでは、「委任」を掘り下げる必要がありますか?ドメイン内の別のマシンでWeb要求が開始されたときに、同じクレデンシャルがANONYMOUS LOGONになる理由を監視するための最も簡単なツールは何でしょうか?
asp.net-mvc - 承認の問題、FormsAuth および ASP.NET MVC
非常に単純な ASP.NET MVC サイト アプリケーションがあります。(MVC1.0)
コントローラーで [Authoize] 属性を使用しているため、web.config に承認セクションがありません。
サーバーのデフォルトの web.config では、* 予想どおり、フォーム認証が許可されます。
既存の Windows 2008 専用 (ホスト) サーバーが 2 台あります。サイトはうまく機能します。
私は新しい専用サーバーを持っていますが、サイトが機能しないことを除けば同じようです。すべてのリソース、さらには画像/javascript がログイン ページにリダイレクトされます。
* と場所のルールを許可する明示的な承認ルールを追加しようとしましたが、同じ結果になりました。.NET の信頼レベル、Internal/Full Trust を確認しました。すべてが 2 台のサーバーで完全に実行されますが、この 1 台だけが承認に関するすべてのルールを無視しています。
何か案は?ありがとう
asp.net-mvc - ASP.NET MVC ロールの承認
コントローラー クラスのデフォルトのロールを「管理者、コンテンツ エディター」にしたい
上記の属性でコントローラーを装飾することでこれを行いました。ただし、すべての人が利用できるようにしたいアクションが 1 つあります (つまり、「表示」)。全員 (完全に権限のないユーザーを含む) がこのアクションにアクセスできるように、ロールをリセットするにはどうすればよいですか?
注: 上記の authorize 属性を使用して、他のすべてのアクションを装飾できることはわかっていますが、常にそれを行う必要はありません。コントローラーのすべてのアクションをデフォルトでアクセスできないようにして、誰かがアクションを追加した場合、それを一般に公開するために熟慮した決定を下さなければならないようにしたいと考えています。
.net - 承認アーキテクチャと関連するパラダイムに関する本を勧めてもらえますか?
私は ASP.NET のバックグラウンドを持っており、控えめに言ってもロール ベースの承認スキーム全体が制限されていることがわかります。Microsoft の新しい ID モデルと、クレーム ベースのアーキテクチャを備えた Geneva Framework について読んだことがありますが、複雑すぎるようです。
一般的に、自分のニーズに最適なものを見つけるために、可能な承認アーキテクチャについてもっと知りたいと思っています。
たとえば、「管理者」のようなアプリケーション全体のロールを作成したい場合は、アプリケーション全体のロールで十分なようです。しかし、私がieを持っているとしたらどうでしょう。すべてのプロジェクトが独自のロール セット (たとえば、プロジェクト A では「編集者」、プロジェクト B では「写真家」) と関連する権限を持つプロジェクト エンティティを備えたプロジェクト管理アプリケーション。
このテーマでお勧めの本はありますか?