カスタムロール/メンバーシップスキーマを利用した統合認証ベースのソリューションを求めるクライアントがあります。私の元の計画は、認証を統合したクレームベースの認証メカニズムを使用することでした。しかし、私の初期の研究は、有用な情報を大量に上げているわけではありません。ADFSのないActive Directoryを使用したクレームベースの認証
私はASP.NET(コアでもowinでもない)WebAPIアプリケーションを持っています。このアプリケーションには、角度SPAベースの(asp.net)Webアプリケーションで使用されるAPIアクションがあります。私は、統合認証を使用してAPI呼び出しを許可しようとしています。私の最初の努力は、カスタムのAuthorizationAttributeとClaimsAuthenticationManagerの実装を中心にしていました。しかし、私が深く知る限り、カスタムClaimsAuthenticationManagerを使用して問題に取り掛かり始めましたが、この時点では適切なルートであるかどうかはわかりません。
あなたのために私の質問はすべてです、少なくとも、これを実現するために必要なことを私にいくつか考えてもらえますか?私は、コードの秘密ビットの助けを必要としません、ちょうど適切な "スタック"を話すように理解する必要があります。
唯一の実際の要件は、WebAPI呼び出しを許可することができます。カスタム属性を使用して承認するクレームの名前を渡しますが、Windows認証を使用していてもクレームはADにはなく、クレーム自体はデータベース。
ありがとうございました!
なぜカスタムAuthorizationAttributeが必要ですか?通常は逆もあります。コントローラをデフォルトのAuthorizationAttributeで装飾し、認証手続きがプリンシパル(HttpContext.Current.UserとThread.CurrentPrincipal)を設定していることを確認します。 –
参考までにhttps://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-apiも参照してください。 –
@OndrejSvejdarオリジナルの考え方は、カスタム権限属性を使用して、アクションにアクセスするために要求されたクレームを装飾することでした。Windows認証を使用していますが、実際のクレーム/ロールはアクティブなディレクトリではなく別のデータベースに格納されているという難点があります。 ASP.Net WebApi2 OWINプロジェクトでこれを行うために実際に使用することが私を混乱させます。 Iveは、ミドルウェアでそれをやって、デフォルトのクラスの機能をオーバーライドすることを検討しました。私は自分の努力に集中する必要がある場所を明確にしていません。 – Brandon