問題タブ [accesscontrolservice]
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.
jquery - mvc 4およびWeb APIを使用したIHttpModuleを介したアクセス制御サービス、サイトとサービスの異なるセキュリティ設定?
Azure で mvc 4 Web API プロジェクトを構築しています。この API へのリクエストは、次のルートを通過します。
同じドメインと別のルートで、mvc Web サイトをセットアップしました。
mvc Web サイトは、Access Control Services とやり取りしてトークンを取得する HTML と Javascript のページにすぎません。トークンをサービスに渡して、jQuery ajax 経由でデータを取得します。
サービスのセキュリティを実装する (API に送信されたトークンを検証する) ために、この記事で説明されているように SWTModule クラスと TokenValidator クラスを使用し、MVC 4 Web アプリケーション プロジェクトの Web.Config system.webserver 属性を呼び出します。
[Authorize] で MVC コントローラー メソッドをマークしていませんが、既定の Web ページを読み込むと、次のエラーが発生します。
「/」アプリケーションでサーバー エラーが発生しました。
無許可
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.ApplicationException: 無許可
ソース エラー:
43 行目: 44 行目: // 'WRAP' で始まることを確認します 45 行目: if (!headerValue.StartsWith("WRAP ")) 46 行目:
{ 47 行目: new ApplicationException("unauthorized") をスローします。ソース ファイル: D:\Dev\VisualStudio2010\Projects\myServices\Azure\myDataInterfaces\SecurityModule\SWTModule.cs 行: 45
スタックトレース:
[ApplicationException: 無許可]
D:\Dev\VisualStudio2010\Projects\myServices\Azure\myDataInterfaces\SecurityModule\SWTModule.cs:45 System.Web.SyncEventExecutionStep.System.Web の SecurityModule.SWTModule.context_BeginRequest(オブジェクト送信者、EventArgs e)。 HttpApplication.IExecutionStep.Execute() +80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270
コントローラー メソッドに [Authorize] を付けていなくても、SWT トークンの検証がすべての応答に対して実行されているため、おそらく Web スタックで以前に呼び出されたため、それらが拒否されているように思えます。 Web.Config 属性?
誰かがこれを機能させる方法について正しい方向に向けることができますか? デフォルトの Web ページ (Home controller Index メソッド) にログイン画面が表示され、メイン ページにリダイレクトされるようにしたいと考えています。ユーザーが使用可能な ACS ID プロバイダーのいずれかを使用してログインしていない場合、そのメイン ページは無許可で返されます。同様に、Web API の ApiController メソッドの一部を公開したままにし、他のメソッドには承認を要求したいと考えています。
現在、MVC アプリと Web API サービスの両方を、Visual Studio の単一の Web ロール ソリューション内の単一の Web アプリケーション プロジェクト内の単一の Global.asax ファイルを介してルーティングしています。これを修正する方法は、HTML MVC サイトと Web API を、同じ Web ロール ソリューションの下で別の Web アプリケーション プロジェクトに分離することでしょうか? それでも、一部のコントローラー メソッドに承認要件を割り当てる手段は得られません。コントローラーと ApiController をルーティングするための別の場所が得られるだけです。
近くにいるような気がしますが、何か大きなものを見落としているかもしれませんが、オンラインで見つけられないようです. 誰かが私をまっすぐにしてくれますか?
ありがとう、アレックス
azure - Azure ACS-中継側アプリケーション-パラメーター付きのReturnURL?
ACSを使用するアプリケーションを構築しています。使用シナリオは次のようになります。
- ユーザーはこのようなURLをhttps://our.application.com/?requestId=123456電子メールで取得してクリックします
- ユーザーはLiveIDログイン画面にリダイレクトされます
- ログイン後、ACSはユーザーを私たちに転送しますが、https: //our.application.com/に転送します
残念ながら、「AccessControlServicePortal」の「RelayingParty」の「ReturnURL」の設定は固定文字列のようです。元のリクエストを伝播する方法はありますか?そうでない場合、回避策として何を提案しますか?
azure - 複数のリモートサイトからAzureServiceQueueへのアクセスを保護するための推奨事項
Azure Service Bus Queuesを使用して、メッセージを保存し、クライアントアプリケーションのリモートインストールに転送しています。
私のアプローチは、リモートサイトごとにキューを設定し、アプリケーションの各インスタンスを独自のキュー名で構成することです。
クライアントアプリケーションでキューとクレデンシャルを保護する方法についてアドバイスを求めています。私が理解しているように、名前空間ごとに1セットのクレデンシャルがあるため、クライアントアプリケーションの各インスタンスは同じキュー接続文字列を持ちます。また、復号化された接続文字列を使用すると、呼び出しにはメッセージをデキューするだけでなく、キューを作成/削除する権限があるようです-これに対して保護できますか?
asp.net-mvc-3 - AZURE ACS - Windows Live ID: 一意のユーザーを識別する方法
私の Web アプリケーションでは、認証に Azure ACS を使用しています。[1]: http://msdn.microsoft.com/en-us/library/hh127794.aspxに従ってコードを実装します。Windows Live ユーザーのみを認証します。ACS がユーザー名、電子メールなどのユーザー情報を提供していないことがわかりました。
このコードによって認証が検証されました。しかし、ユーザーを追跡するには一意の識別子が必要です。
追跡ユーザーを維持するための一意の ID を探しています。
これは、次のような応答を返します
<NameID>xWTQfgjexVZ4sturSHZmdppGj/am1IweOYHgc139TrE=</NameID>
このレスポンスには独自の価値が含まれていると思いました。しかし、それはPCごとに異なるようです。
これを達成する方法を教えてください。
前もって感謝します!
c# - Access Control Service を介してクライアントからバックエンドにパラメーターを渡す方法
開発者の皆さん、こんにちは!
モバイルおよび Web アプリケーションからのユーザー認証に ACS を使用しています。
質問: 一部のコンテキスト情報 (例: 1 つの文字列) を ID プロバイダーに伝達して、ACS に返し、後でバックエンド (ACS が認証トークンをポストする) に伝達する方法を教えてください。
私たちの目的:
WORKING: モバイル アプリ > バックエンド (WebApi) > ACS (IdentityProviders.js を使用) > バックエンド (WebApi) > 例: Google 認証 > ACS > バックエンド (WebApi) はモバイル アプリを静的な Noop URL にリダイレクトします (トークンを公開します)クエリ文字列パラメーターとして) > モバイルアプリは URL の変更を (InAppBrowser で) 検出し、クエリ文字列を保存します。
問題: Web アプリ > バックエンド (WebApi) > ACS (IdentityProviders.js を使用) > バックエンド (WebApi) > 例: パラメーター「myURL」を使用した Google 認証 > ACS (トークンとパラメーター「myURL」を伝達) >私たちのバック- end (WebApi) は、トークンをクエリ文字列パラメーターとして使用して、受け取ったパラメーター myURL に Web アプリをリダイレクトする必要があります。これを達成する方法は?
ありがとうございました!マーティン
java - Web アプリケーションにユーザー アクセス制御メカニズムを実装する方法
Springs を使用して Web アプリケーションを開発しています。アプリケーションのスケーラビリティを実現するには、ユーザー管理システムが必要です。異なるグループを持つアプリケーションでは、各グループは異なるユーザーを持ちます。すべてのユーザーは異なる役割を持ちます。
- アクセス制御メカニズムを実装するには、利用可能な API はありますか?
- すべてのユーザーに役割を割り当てる方法は?
.net - ACS を使用して UnauthorizedAccessException の代わりに TimeoutException を発生させる Azure Service Bus 操作
Access Control Service を使用して、特定のサービス ID の特定の Service Bus サブスクリプションへのアクセスを承認しています。
サブスクリプションからセッションまたはメッセージを受信すると、サービス ID が承認され、必要に応じてメッセージを受信して完了または破棄できます。
ただし、UnauthorizedAccessException
サービス ID がアクセスできないサブスクリプションにアクセスしようとしても、ルール グループがそのサービス ID に対して要求を発行せず、依存している操作を実行しようとしても、この例外が表示されません。パーティー (メッセージの送信やトピックの作成など)。
代わりに、最終的にはTimeoutException - "The timeout elapsed upon attempting to obtain a token while accessing 'https://namespace-sb.accesscontrol.windows.net/WRAPv0.9/'"
. 内部例外はSecurityTokenException - "The token provider was unable to provide a security token while accessing 'https://namespace-sb.accesscontrol.windows.net/WRAPv0.9/'. Token provider returned message: 'The operation has timed out'"
. タイムアウト例外は一時的なものと見なされるため、これは RetryPolicy に問題を引き起こします。
しかし奇妙なことにUnauthorizedAccessException
、サブスクリプションの説明を受信しようとすると、 が表示されます。Rights Required for Service Bus Operationsに従って、 ...myTopic/Subscriptions/mySubscription スコープ内のリッスン クレームを持つサービス ID で使用できる必要があるもの。
私は次の設定をしています:
- サービス ID: testidentity
- ルール グループ:
- Service Bus の既定のルール グループ
- 3 つのルール、入力クレーム: 所有者、出力クレーム: 管理、送信、リッスン
- http://namespace.servicebus.windows.net/myTopicのルール グループ
- 何でもあり
- http://namespace.servicebus.windows.net/myTopic/Subscriptionsのルール グループ
- 何でもあり
- http://namespace.servicebus.windows.net/myTopic/Subscriptions/mySubscriptionのルール グループ
- 1 つのルール: 入力クレーム: testidentity、出力クレーム: Listen
- Service Bus の既定のルール グループ
- 依拠当事者アプリケーション:
- レルム: http://namespace.servicebus.windows.net/myTopic/Subscriptions/mySubscription
- トークン形式: SWT
- トークンの有効期間: 10800
- ID プロバイダー: なし (ACS)
- 上記のすべてのルール グループに関連付けられています
次の問題が発生しています。
結果として、UnauthoriszedAccessException - "The remote server returned an error: (401) Unauthorized."
この例外を受け取るのではなく、説明を取得できることが期待されます。興味深いのは、これが ID がアクセスできる唯一の領域であり、UnauthorizedAccessException が表示される唯一の時間であるということです。
タイプTimeoutException
の内部例外を伴う になりSecurityTokenException
ます。ここに期待しUnauthorizedAccessException
ます。
メッセージは になりますがnull
、やはり . が期待されますUnauthorizedAccessException
。出力を調べると、出力ウィンドウで例外が発生していることがわかりますが、クライアントによって飲み込まれています。
同様に、トピックの作成やメッセージの送信などを試みると、TimeoutException
.
サービス ID がアクセスできないレルムにアクセスしようとした場合、これは正しい動作UnauthorizedAccessException
でしょうか?
セットアップによって望ましい結果が得られたと思います。ID は、Listen ルールが関連付けられているサブスクリプション レルムによって識別されるサブスクリプション以外のサブスクリプションをリッスンできませんが、エラー フィードバックが明確でないことが懸念されます。継続的な再試行が発生します。
どんなアドバイスでも大歓迎です。
ios - Azure AD Access Control を iOS アプリのソーシャル認証に統合する
私は iOS アプリを作成しており、ID 管理には Azure Mobile Services を使用し、noSQL DB には DocumentDB を使用しています。ただし、DocumentDB で確認できる唯一のアクセス制御は、Active Directory (現在は使用していません) を使用している場合です。
https://azure.microsoft.com/en-us/documentation/articles/fundamentals-identity/から 、Active Directory 認証を使用せずにアクセス制御サービスを統合する方法があることがわかります。ただし、これを行う方法を示すドキュメントは見つかりません。誰かがこれをしましたか?私はMacを使用しており、iOS向けに開発しています。私が目にする唯一のドキュメントは、.NET および ASP.NET MVC アプリケーションに関するものです: https://azure.microsoft.com/en-us/documentation/articles/active-directory-dotnet-how-to-use-access-control /
また、Active Directory を JavaScript バックエンドと統合できるかどうか知っている人はいますか? すべてのドキュメントは、.NET バックエンドで Active Directory を使用することを示しています。
ありがとうございました。