0

従来のイントラネットASP.NETWebアプリを「フォーム」ベースの認証から「Windows」ベースの認証に移行しようとしています。これにより、ユーザーはPCにログインした後、資格情報を再度入力する必要がなくなります。現在ログインしているIDを使用して、アプリケーションでユーザーを認証および承認します。

ASP .NETでWindows認証を行うのは非常に簡単ですが、私が確認したかったのは、ユーザーとそのグループをADまたはADAM内でどのように管理するかということでした。

同じユーザーは、Dev、UAT、LT、Prodなどの同じアプリケーションの複数の環境に対する権限を持つことができるため、同じドメインアカウントを複数の環境(異なるURL)で認証する必要があります。また、環境で認証されると、ユーザーは複数のロールに属し、ユーザーが実行できるアクションを決定する場合があります。

ADでこの構造を設定する方法に関して、ここでいくつかの推奨事項を探していました。App_Dev、App_UAT、App_Prodなどのさまざまな環境用にADでグループを作成することを考えており、それぞれの中にネストされたグループがあります。各環境のApp_Dev\Role1、App_Dev \ Role2、App_UAT \ Role1などのアプリケーションでの役割を指定し、その中にユーザーを追加します。

皆さんはどう思いますか?

4

1 に答える 1

0

認証と承認は2つの異なるものであることを覚えておく必要があります。ロジックでそれらを組み合わせました。

たとえば、認証メカニズムはADです。そうです、クレデンシャルとグループメンバーシップの認証にADを使用して、特定のインスタンスで認証できるようにします。

ただし、従来のRolesProviderを引き続き使用し、SQLバックエンドを使用して、データベース内のインスタンスごとにロールとユーザーからロールへの割り当てを格納できます。これは簡単で、ADでグループを作成する必要がなく、ASP.NETの組み込み機能を使用します。についてウェブ上でさまざまな検索を行うことができますASP.NET AD Authentication and SQL Roles Provider。ScottGuにはそれを行う方法についての古い記事さえあると思います。

最後に、ここで説明したのはSSOでもSingle Sign-On、これを反映するように質問を更新します。SSOとは、信頼され、多くのアプリケーション間で共有されるトークンを作成することを指します。提供されている例ではそれが必要なようには見えませんが、必要な場合は、ADFSとWindows Identity Foundation(WIF)を調査することになります。ADを使用するからといって、SSOがあるわけではなく、単一の認証プロバイダーがあるということですが、実際には中央認証サービスへの最初の認証と承認の要求のみを必要とするトークンベースのシステムはありません。通常はADFS。

于 2012-09-13T13:31:55.417 に答える