タグ付けされた質問 「authorization」

承認とは、ユーザー、プログラム、またはデバイスが保護されたリソースに特定の方法でアクセスできるかどうかを決定するプロセスです。承認は、コンピューターのセキュリティ対策における重要なテーマです。

18
REST API / Webサービスを保護するためのベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 REST APIまたはサービスを設計するときに、セキュリティ(認証、承認、ID管理)を処理するための確立されたベストプラクティスはありますか? SOAP APIを構築する場合、ガイドとしてWS-Securityがあり、このトピックに関する多くの文献が存在します。RESTエンドポイントの保護に関する情報が少なくなりました。 RESTにはWS- *に類似した仕様が意図的にないことを理解していますが、ベストプラクティスまたは推奨パターンが浮かび上がってきたことを願っています。 議論や関連文書へのリンクは非常に高く評価されます。必要に応じて、.NET Frameworkのv3.5を使用して構築されたREST API /サービスのPOX / JSONシリアル化メッセージでWCFを使用します。

11
認証と承認
Webアプリケーションのコンテキストの違いは何ですか?「auth」という略語がよく見られます。それがために立っていAUTH -enticationまたは認証 -orization?それとも両方ですか?

10
OAuth 2とOAuth 1の違いは何ですか?
非常に簡単に言えば、誰かがOAuth 2とOAuth 1の違いを説明できますか? OAuth 1は現在廃止されていますか?OAuth 2を実装する必要がありますか?OAuth 2の実装はあまり見かけません。ほとんどはまだOAuth 1を使用しているため、OAuth 2を使用する準備ができているとは思えません。それは...ですか?

11
ASP.NET CoreでカスタムAuthorizeAttributeを作成するにはどうすればよいですか?
ASP.NET Coreでカスタム認証属性を作成しようとしています。以前のバージョンでは、オーバーライドすることが可能bool AuthorizeCore(HttpContextBase httpContext)でした。しかし、これはには存在しませんAuthorizeAttribute。 カスタムAuthorizeAttributeを作成するための現在のアプローチは何ですか? 達成しようとしていること:ヘッダー認証でセッションIDを受け取っています。そのIDから、特定のアクションが有効かどうかがわかります。

7
AuthorizeAttributeが認証と承認の失敗のためにログインページにリダイレクトするのはなぜですか?
ASP.NET MVCでは、次のAuthorizeAttributeようにコントローラーメソッドをでマークアップできます。 [Authorize(Roles = "CanDeleteTags")] public void Delete(string tagName) { // ... } つまり、現在ログインしているユーザーが "CanDeleteTags"ロールに属していない場合、コントローラーメソッドは呼び出されません。 残念ながら、失敗した場合AuthorizeAttributeは、HttpUnauthorizedResultを返します。これは常にHTTPステータスコード401を返します。これにより、ログインページへのリダイレクトが発生します。 ユーザーがログインしていない場合、これは完全に理にかなっています。ただし、ユーザーがすでにログインしているが、必要なロールに属していないログインページに戻すのは混乱します。 のようだ AuthorizeAttribute認証と認可統合する。 これはASP.NET MVCの見落としのようですが、何か不足していますか? DemandRoleAttribute2つを分離するを調理しなければなりませんでした。ユーザーが認証されない場合、HTTP 401が返され、ログインページに送信されます。ユーザーがログインしているが、必要な役割ではない場合は、NotAuthorizedResult代わりにを作成します。現在、これはエラーページにリダイレクトされます。 確かに私はこれをする必要はなかったのですか?


2
cURLを使用して基本的なHTTP認証を正しく定義する方法は?
私はApigility(Apigility docu-> RESTサービスチュートリアル)を学習しており、cURLを介して基本認証でPOSTリクエストを送信しようとしています: $ curl -X POST -i -H "Content-Type: application/hal+json" -H "Authorization: Basic YXBpdXNlcjphcGlwd2Q=" http://apigilityhw.sandbox.loc/status YXBpdXNlcjphcGlwd2Q=資格情報付きのBase 64エンコード文字列apiuser:apipwdです。資格情報は/data/htpasswd(apiuser:$apr1$3J4cyqEw$WKga3rQMkxvnevMuBaekg/)に保存されます。 これは次のようになります。 HTTP/1.1 401 Unauthorized Server: nginx/1.4.7 Date: Mon, 22 Sep 2014 07:48:47 GMT Content-Type: application/problem+json Transfer-Encoding: chunked Connection: keep-alive X-Powered-By: PHP/5.5.12-1~dotdeb.1 WWW-Authenticate: Basic realm="api" ここの間違いはどこですか?それを機能させるには?

1
JACCプロバイダーは、デプロイされているサーバーのプリンシパルからロールへのマッピング機能をどのように使用できますか?
JACCプロバイダーを書いています。 途中で、これはの実装を意味しPolicyConfigurationます。 PolicyConfigurationパーミッションがどのロールに生ずるようなどのように、アプリケーションサーバから構成情報を受け付けるための責任があります。これは、現在のユーザーと彼が何をしようとしているのかについての情報Policyが渡されたときに、後で承認の決定を行うことができるようにするためです。 ただし、PolicyConfiguration役割とその権限との間のマッピングを維持し、Principalsそれらをそれらの役割に割り当てることは、の(残虐な)契約の一部ではありません。 通常、常に、実際には、アプリケーションサーバーがこのマッピングを格納します。たとえば、Glassfishでは、Java EEモジュールなどsun-web.xmlを提供することによって、このマッピングに影響を与えsun-ejb-jar.xmlます。(これらのベンダー固有のファイルは、たとえば、superusersのアプリケーションロールが割り当てられるグループであることを伝える責任がありadminsます。) これらのファイルが提供する機能を再利用したいのですが、できるだけ幅広いアプリケーションサーバーで使用したいと考えています。 これは-完全に恣意的-この問題に対するIBMの見解です。これは、私がしたいことは本質的に不可能であるという私の疑念を裏付けるものです。(私の特定のJava EE契約は、それが印刷された紙に値しないという私の場合の弾薬はもっと多い。) 私の質問:初心者のために、GlassfishとJBossのこのプリンシパルからロールへのマッピング情報をどのように取得しPolicyConfigurationますか 私が知らない標準的な方法がある場合、私はすべての耳にしています。

26
Nexus 4をadbに接続できない:不正
Android 4.3を搭載したNexus 4を使用していますが、デバイスをWindows 7 64ビットのコンピュータに接続しようとしています。 最新のドライバーと最新adbバージョンをインストールしました。私はほとんどすべてを試したと思いますが、それでも次のメッセージが表示されます: C:\Program Files (x86)\Android\sdk\platform-tools>adb devices List of devices attached 007667324ccb229b unauthorized このエラーの理由は何ですか?

4
カスタムHTTP認証ヘッダー
カスタムデータをHTTP承認ヘッダーに配置することは許容できるかどうか疑問に思っていました。RESTful APIを設計しており、承認のカスタムメソッドを指定する方法が必要になる場合があります。例として、FIRE-TOKEN認証と呼びましょう。 このようなものが有効であり、仕様に従って許可されますか? Authorization: FIRE-TOKEN 0PN5J17HBGZHT7JJ3X82:frJIUN8DYpKDtOLCwo//yllqDzg= 2番目の文字列の最初の部分(「:」の前)はAPIキーで、2番目の部分はクエリ文字列のハッシュです。

4
ASP.NET MVC 4カスタム許可属性とアクセス許可コード(役割なし)
MVC 4アプリケーションで、ユーザーの特権レベル(ロールはなく、ユーザーに割り当てられたCRUD操作レベルの特権レベルのみ)に基づいて、ビューへのアクセスを制御する必要があります。 例として; AuthorizeUserの下は私のカスタム属性になるので、次のように使用する必要があります。 [AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")] public ActionResult UpdateInvoice(int invoiceId) { // some code... return View(); } [AuthorizeUser(AccessLevels="Create Invoice")] public ActionResult CreateNewInvoice() { // some code... return View(); } [AuthorizeUser(AccessLevels="Delete Invoice")] public ActionResult DeleteInvoice(int invoiceId) { // some code... return View(); } この方法でそれを行うことは可能ですか?

3
Asp.net WebApiのカスタム認証-混乱
WebApiでの承認に関するいくつかのリソース(本とSOの回答)を読んでいます。 特定のユーザーのみにアクセスを許可するカスタム属性を追加したいとします。 ケース#1 私は、オーバーライドの このアプローチを見てきました OnAuthorization。これは、何かが間違っている場合に応答を設定します public class AllowOnlyCertainUsers : AuthorizeAttribute { public override void OnAuthorization(HttpActionContext actionContext) { if ( /*check if user OK or not*/) { actionContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized); } } } ケース#2 しかし、私もこの同様の例を見たことがあります。これもオーバーライドします OnAuthorizationが、を呼び出すことでbase: public override void OnAuthorization(HttpActionContext actionContext) { base.OnAuthorization(actionContext); // If not authorized at all, …

8
ASP.NET Web API:401 /不正な応答を返す正しい方法
OAuth /トークン認証を使用してリクエストを認証するMVC webapiサイトがあります。関連するすべてのコントローラーに適切な属性があり、認証は正常に機能しています。 問題は、すべてのリクエストを属性のスコープで承認できないことです。一部の承認チェックは、コントローラメソッドによって呼び出されるコードで実行する必要があります。この場合、401の不正な応答を返す正しい方法は何ですか。 私は試しましたがthrow new HttpException(401, "Unauthorized access");、これを行うと、応答ステータスコードが500になり、スタックトレースも取得されます。ログ記録のDelegatingHandlerでも、応答が401ではなく500であることがわかります。

5
複数の役割を持つ属性を承認する
一度に複数のロールの承認をコントローラーに追加したいと思います。 通常は次のようになります。 [Authorize(Roles = "RoleA,RoleB,RoleC")] public async Task<ActionResult> Index() { } しかし、ロールはある時点で変更または拡張される可能性があるため、constに保存しました。 public const RoleA = "RoleA"; public const RoleB = "RoleB"; public const RoleC = "RoleC"; 文字列はコンパイル時に認識されている必要があるため、これはできません。 [Authorize(Roles = string.join(",",RoleA,RoleB,RoleC)] public async Task<ActionResult> Index() { } 問題を回避する方法はありますか? 私は単に「RoleA、RoleB、RoleC」を含むconstを書くことができますが、私は魔法の文字列が嫌いで、これは魔法の文字列です。ロールの名前を変更し、結合された文字列を変更するのを忘れると、大変なことになります。 MVC5を使用しています。ASP.NETのIDとロールはコンパイル時に認識されます。

8
Pythonは、単一のトークンでAuthorizationヘッダーを渡す方法をライブラリに要求します
リクエストURIとトークンがあります。私が使用する場合: curl -s "<MY_URI>" -H "Authorization: TOK:<MY_TOKEN>" など、200を取得し、対応するJSONデータを表示します。そのため、リクエストをインストールしました。このリソースにアクセスしようとすると、おそらくそのトークンを渡すための正しい構文がわからないために403が表示されます。誰かが私がそれを理解するのを手伝ってくれる?これは私が持っているものです: import sys,socket import requests r = requests.get('<MY_URI>','<MY_TOKEN>') r. status_code 私はすでに試しました: r = requests.get('<MY_URI>',auth=('<MY_TOKEN>')) r = requests.get('<MY_URI>',auth=('TOK','<MY_TOKEN>')) r = requests.get('<MY_URI>',headers=('Authorization: TOK:<MY_TOKEN>')) しかし、これらはどれも機能しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.