2011-02-09 15 views
4

ユーザーが役割に入れられ、役割に基づいて異なる権限が与えられている必要があるWebアプリケーションで作業しています。これは、フォーム認証とSqlRoleProviderを使用すると簡単に実行できます。しかし、アプリケーションは社内イントラネット内で使用され、フォーム認証により、ユーザーはアプリケーションを使用するたびに手動でログインする必要があります.Windows統合自動識別機能を使用すると、ユーザーは既に企業ドメインにログオンしているため、しかし、ここでの役割には問題があります。統合認証は、デフォルトでユーザーのWindowsアカウント(グループメンバーシップなど)に組み込まれている役割を使用します。私のアプリケーションでは、ユーザーをカスタムの役割にする必要があります。だから、役割を果たすのは、データベース管理がもっと有利な解決策であるということです。 SqlRoleProvider(役割とユーザー管理用)と共にWindows統合認証(認証用)を使用する方法はありますか?SilverlightアプリケーションでSqlRoleProviderとWindows統合認証を使用する

+4

私見では、これはここではなく、StackOverflowのに属します。 –

答えて

3

BenCrは正しいです。しかし、私は自分自身のロールプロバイダを作成しないようにしたいので、ユーザーを簡単に追加できるようにしたいと考えました(Visual Studio組み込みのASP.NET設定ツールを使用)。

ネット上でこれが見つかりました。それは私が思ったよりずっと簡単になった。 Web設定ファイルで役割を有効にするだけで、Together with Windows統合認証が有効になります。あなたのローカルmdfファイルを(それをSQLサーバに接続して)コピーすれば動作します。

http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

+0

あなたは正しいので、独自のプロバイダを作成する必要はありませんでした。彼はSqlRolesProviderが何をしているのかをかなり詳しく説明しています。あなたのおかげでリンクの素晴らしい記事! –

4

アプリケーションでこれを正確に実行したので、独自のRoleProviderを作成してからweb.configで指定する必要があります。次に、好きなソースからあなたの役割を読み込むことができます。

<roleManager enabled="true" defaultProvider="MyRoleProvider"> 
    <providers> 
     <clear /> 
     <add name="MyRoleProvider" type="MyCompany.MyRoleProvider, MyAssembly" /> 
    </providers> 
</roleManager> 

RoleProvider http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

+0

あなたは正しいですが、grabahが指摘しているように、ロールインフォをSQL Serverに格納する場合は、デフォルトのSqlRolesProviderを使用することができます; –

関連する問題