2011-06-18 13 views
2

SQLメンバーシップ・プロバイダを使用するasp.netアプリケーションがあります。同じメンバシッププロバイダを使用して複数のアプリケーションを取得する方法を知っているので、ユーザーは複数のサイトに移動して同じ資格情報を使用してログインできます。しかし、私の現在のプロジェクトでは、各ユーザーに特定のアプリケーションにのみアクセス権が与えられるという要件があります。たとえば、ユーザーはサイト1にアクセスするための資格情報が与えられ、その後はいつでも、ユーザーはサイト2にアクセスする必要があり、マネージャー/管理者はユーザーがサイト2にアクセスできるようにする必要があります。最初に、ユーザーはアクセスする必要がある3つのサイト(または何でも)へのアクセスを承認します。複数のアプリケーションを単一のSQLメンバーシップ・プロバイダで承認する

多くのアプリケーションで1つのメンバーシッププロバイダを使用する最良の方法は何ですか。ただし、承認されたアプリケーションにのみアクセスできます(マネージャはアプリケーションへのアクセスを管理できますが、パスワード)?私は役割の使用について考えましたが、私はすでにアプリケーション内の特定の機能へのアクセスを許可するために、アプリケーション内の役割を使用しています。それは乱雑になるようです。

私は約50の類似の質問を読んだことがありますが、いずれもアプリケーションの承認要件には触れていません。前もって感謝します。

答えて

0

ここで最も簡単で簡単な方法は、ロールを使用することです。

この目的のためにさらに多くの役割(各アプリケーションに1つずつ)を追加すると大きな問題にはなりません。利用可能でなければならない各アプリの基本的な役割は、Application_AuthenticateRequestまたはApplication_AuthorizeRequestで確認してください。他の方法もありますが、これは最も影響が少なく、コードには最も簡単です(必要はありませんが、役割のチェックは必要ありません)。

+0

私はそのように思っていましたが、このために設計された特定の機能がないことを確認したかっただけです。役割の「副役割」を作成する方法はありますか?問題は、各アプリの論理的役割が異なることがあるということです。したがって、ユーザーにApp 1へのアクセス権を付与する「APP1」ロールがあり、その下に「営業」および「オペレーション」ロールがありますか?あるいは、私は "APP1"、 "APP1_SALES"、 "APP1_OPERATIONS"といった役割を果たしていますか?ありがとう。 – user714241

+0

あなた自身のカスタム作業をせずに、上記の命名規則に固執しています - ごめんなさい! –

関連する問題