Windows 認証を使用するアプリケーションでは、SQL に保存されているユーザー ロール/メンバーシップを手動で作成しています (web.config で有効になっている System.Web.Security.SqlRoleProvider)。
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="connMembership" applicationName="/" />
しかし今、アプリケーションをリリースしているので、会社の Active Directory グループを使用するように変更する必要があります。
<add name="AspNetActiveDirectoryMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADService" attributeMapUsername="sAMAccountName" />
と
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
2 つの質問があります (申し訳ありませんが、私はこれらすべてにまったく慣れていません!)
1) web.config で ActiveDirectoryMembershipProvider と WindowsTokenRoleProvider を使用している場合、アプリの別のページへのユーザー アクセスを制限するにはどうすればよいですか? (つまり、Roles.IsUserInRole(username, "ADGroupName") を使用している唯一の方法ですか?
2) Active Directory を使用して「管理者」のような役割を作成するにはどうすればよいですか? 以前 (まだ SqlRoleProvider を使用していたとき)、すべてのページ/機能にアクセスできる SQL に自分自身を追加するための管理者グループを自分で作成できたので、質問しています。
i.e Roles.AddUserToRole(userName, Admin).
しかし今、私は制限された AD グループの一員であるため、何らかの形式の管理者セキュリティ グループを上書きして自分自身を追加する方法がわかりません。
アドバイスをいただければ幸いです!!
ありがとう!