以下に示すように、web.config エントリがあります。これは、さまざまなロールのユーザーのさまざまなページへのアクセスを制御するためのものです。
管理者画面は採用担当者と CRM1 がアクセス可能 ログ画面は CRM3 と転勤者がアクセス可能
add key="AdminScreenRoles" value ="Hiring Manager,CRM1"
add key="LogsScreenRoles" value ="CRM3,Transferee "
将来的には、新しいロールに管理者画面へのアクセス権を付与できます。また、新しいページが導入される場合があります。
現在のユーザーが構成ファイル内の少なくとも 1 つのページにアクセスできるようにする必要があります。次のコードがあります。できます。この機能のためのより良い/簡潔/スケーラブルなコードはありますか?
List<string> authorizedRolesForAdmin = new List<string>((ConfigurationManager.AppSettings["AdminScreenRoles"]).Split(','));
List<string> authorizedRolesForLogs = new List<string>((ConfigurationManager.AppSettings["LogsScreenRoles"]).Split(','));
if ((authorizedRolesForAdmin.Contains(roleName)) || (authorizedRolesForLogs.Contains(roleName)))
{
//Has access to at least one page
}
参考: