問題タブ [asp.net-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.

0 投票する
1 に答える
304 参照

asp.net-mvc - ASP.NET メンバーシップ、プロファイルからプロパティを取得する方法は?

web.config で、次のプロパティを定義しました。

次のように、このプロパティに値を設定できます

しかし、MembershipUser に基づいて値を取得するにはどうすればよいでしょうか? ビューで MembershipUserCollection を反復処理する場合、プロパティを表示するにはどうすればよいCreatorですか?

前もって感謝します!

0 投票する
1 に答える
258 参照

asp.net-mvc - カスタム認証モジュールのパフォーマンスと拡張性を改善する

アクション メソッドに基づいてセキュリティ ロールを取得するための承認要件がありますが、これは既定の asp.net mvc 承認を使用して達成することはできません。そのため、カスタム認証要件を実装するために、次のアクション フィルターを作成しました。

次のリポジトリメソッドを呼び出しています:-

次のように、コントローラークラス内でアクションフィルターを呼び出しています:-

しかし、私は次の懸念があります:-

  1. 私のリポジトリ内で、すべてのユーザーとグループを取得し(.Tolist()を呼び出すとき)、現在のログインユーザーがこれらの値内にあるかどうかを確認します。膨大な数のユーザーを扱う場合、どれが非常に拡張可能ではないでしょうか?

  2. ユーザーがアクション メソッドを呼び出すたびに、同じセキュリティ コードが実行されます (もちろん、理想的には、ユーザー セッション中にユーザーのアクセス許可が変更される可能性があります)。これにより、パフォーマンスの問題が発生する可能性があります。

では、2つの懸念事項を念頭に置いて、現在の実装を改善する方法を教えてもらえますか? ありがとう

0 投票する
2 に答える
8677 参照

asp.net - ASP.NET MVC Web API サービスと MVC クライアント アーキテクチャに認証とロール ベースの承認を実装する

Web API (サービス) - MVC (クライアント) アーキテクチャ プロジェクトの認証/承認シナリオを実装する際に、アプローチを決定するのに苦労しています。Web APIプロジェクトでカスタムトークンベースの認証を実装しましたが、認証を正確にどこに実装する必要があるか(クライアントまたはAPI自体)が難しいと感じています。


アーキテクチャの概要:

  • プロジェクト ソリューション -
    |
    | | __ ASP.NET Web API ベースの REST サービス (M/C 1 の IIS で独立してホスト)
    |
    | | __ ASP.NET MVC ベースのクライアント (M/C 2 Consuming REST サービスで IIS で独立してホストされる)
    |
    | | __ スマートフォン クライアント アプリケーション (REST サービスを利用)

実装済みの認証:

  • Web API でのトークン ベースの認証 (メッセージ ハンドラーを使用) - 認証用のすべての http 要求ヘッダーの一部である必要がある、認証されたユーザーの SHA1 暗号化トークンを生成します。
    (トークン = ユーザー名 + ユーザー IP)

  • SSL で保護された HTTP 要求。(繰り返しますが、メッセージ ハンドラーを使用します)

現在の問題:

  1. 承認はどの層で実装する必要がありますか?
  2. クライアントでユーザー ロールをどのように保持する必要がありますか? クッキーを使用していますか? またはトークン自体にロール情報を追加する (これにより、情報を復号化するための API のオーバーヘッドと、そのロールに関連付けられたアクセス許可を取得するための追加の DB 呼び出しが追加される可能性があります)
  3. クライアント セッションで認証トークンを保持する方法は?
  4. 私のアプリケーションはSPA MVCアプリケーションであるため、APIに対して行うすべてのAJAX呼び出しの一部として認証トークンを含める最良の方法は何ですか?

認証/承認の概念全体を考慮しながら、間違ったことをしていないことを願っています。したがって、代替アプローチ/提案をいただければ幸いです。

0 投票する
2 に答える
23770 参照

asp.net-mvc - MVC 4 AuthorizeAttribute.HandleUnauthorizedRequest ViewResult - 無限ループ

私は自分のコードを何百万回もステップ実行しましたが、実装の問題を見つけることができません..

カスタム AuthorizeAttribute で 2 つのメソッドを上書きしました

認証ロジックは、特定のコントローラーでのみ false を返すようにモックされており、正しく機能していることを確認するためにこれを実行しました。

上記のコードは無限ループを引き起こします。私のログでは、その行が666回ヒットしたことがわかります(偶然?)..

base.HandleUnauthorizedRequest(ctx) を呼び出すと、空白のページしか表示されません。だから私はベースが何をするかを反映しました、そしてそれはこれです

したがって、Unauthorized.cshtml にリダイレクトする代わりに、空白のページをレンダリングする理由が説明されています。よくわからないのは、ベースを呼び出さないと無限ループに陥る理由です。

ps

間違った Unauthorized ビューを配置すると、エラーが発生することを確認しました (ただし、無期限にハングアップします)。

0 投票する
1 に答える
327 参照

asp.net - ASP.NET ページのライフ サイクルと役割ベースの承認について

私がやろうとしていること

ユーザーを認証し、ロールに基づいてページにリダイレクトします。

私の問題

初めて正しい資格情報を入力すると失敗します。ユーザーは認証されますが、ユーザーの役割を評価すると、if ステートメントはどれも true ではありません。2 回目 (ポストバック後) は期待どおりに動作します。

私の質問

これが機能しないのはなぜですか。ロールを設定する前に、ユーザーを認証してポストバックする必要があるのはなぜですか?

コード

0 投票する
1 に答える
1352 参照

asp.net-mvc - asp.net mvc authenticationfilterattribute スレッド セーフ

http://msdn.microsoft.com/en-us/library/system.web.http.filters.authorizationfilterattribute(v=vs.118).aspx

この型の public static (Visual Basic では共有) メンバーはすべて、スレッド セーフです。インスタンス メンバーは、スレッド セーフであるとは限りません。

これは、MyCustomRoles がインスタンス メンバーであるため、以下をカスタム asp.net mvc 承認フィルター属性として使用するのは安全ではないということですか?

0 投票する
1 に答える
230 参照

asp.net-web-api - MVC5 + WebApi2 認可を理解できない

OAuth の概念を知っています。ユーザーは許可タイプ、ユーザー名、パスワードを使用してサーバーにリクエストを送信し、サーバーでいくつかのチェックを行った後、ユーザーはアクセス トークンを受け取ります。私が理解できないのは、なぜ私がこれをしなければならないのかということです:

CreateIdentityAsync戻るとは何ですか?とは何AuthenticationTicketですか? 何をしcontext.Validatedますか?また、oAuthIdentityなぜ私も使用する必要があるのcookiesIdentityですか? 最後に、アクセス トークンはどこで生成されるのでしょうか。

検索しましたが、これを説明しているウェブサイトが見つかりません。

0 投票する
3 に答える
8514 参照

c# - Roles を使用した MVC 4 のカスタマイズされた承認属性

カスタマイズされたロールベースの認証属性を作成しました。私の考えは、ロール名が「従業員」のユーザーがログインした場合、URL から「管理者」ページにアクセスできないようにすることです。しかし[MyRoleAuthorization]、従業員コントローラーを実装してログインすると、「この Web ページにはリダイレクト ループがあります」というエラーが表示されます。これはコードです[MyRoleAuthorization]

私の従業員コントローラは次のようになります

手伝ってくれませんか。

0 投票する
1 に答える
1776 参照

entity-framework - Web Api 2 OData エンドポイントでのクレーム ベースの承認によるエンティティの保護

次のコントローラーが与えられた場合

私はClaimsAuthorizationManager.CheckAccess(...)

Current Principal これは、が一般的にできるかどうかを確認できる点でのみ役立ちますRead Account。ただし、特定のユーザーが読み取りを許可されているアカウントを確認したい場合は、道に迷ってしまいます。

マネージャーであるすべてのアカウントを読み取ることができるマネージャー ユーザーがいるのに対し、マネージャー以外のユーザーは自分のアカウントのみを読み取ることができるとします。

これに関するベスト プラクティスはありますか、それとも以前にこのようなことをしたことがありますか?探すためのヒントをいくつか教えてください。