我有如下所示的 web.config 条目。这是为了控制不同角色的用户对不同页面的访问。
管理屏幕可由招聘经理访问,CRM1 日志屏幕可由 CRM3 和受让人访问
add key="AdminScreenRoles" value ="Hiring Manager,CRM1"
add key="LogsScreenRoles" value ="CRM3,Transferee "
将来可以授予新角色访问管理屏幕的权限。也可能会引入新页面。
我需要确保当前用户至少可以访问配置文件中的一个页面。我有以下代码。有用。此功能是否有更好/简洁/可扩展的代码?
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
}
参考: