По специальному требованию моего проекта. Мне нужно предоставить разрешение на строку данных, поэтому я настроил AuthorizationProvider, как показано ниже:
AppPermission.cs
public const string Pages_MyPj_ImportFilesArea = "Pages.MyPj.ImportFilesArea";
public const string Pages_MyPj_ImportFilePermission = "Pages.MyPj.ImportFilePermission.[Id]";//View
public const string Pages_MyPj_ImportFilePermission_Upload = "Pages.MyPj.ImportFilePermission.[Id].Upload";//Upload
public const string Pages_MyPj_ImportFilePermission_Import = "Pages.MyPj.ImportFilePermission.[Id].Import";//Import
Authorizationprovider.cs
var importFileArea = dynamicSystem.CreateChildPermission(AppPermissions.Pages_MyPj_ImportFilesArea, L("ImportFilesArea"));
var importFileCustomPermissions = GetImportFileCodesForCustomPermission();
foreach (var permission in importFileCustomPermissions)
{
//View
var file = importFileArea.CreateChildPermission(AppPermissions.Pages_MyPj_ImportFilePermission.Replace("[Id]", permission.Id), L(permission.Name)));
//Upload
file.CreateChildPermission(AppPermissions.Pages_MyPj_ImportFilePermission_Upload.Replace("[Id]", permission.Id), L("Upload"));
//Import
file.CreateChildPermission(AppPermissions.Pages_MyPj_ImportFilePermission_Import.Replace("[Id]", permission.Id), L("Import"));
}
Потому что AuthorizationProvider инициализируется только один раз при запуске. Поэтому после того, как я вставлю новую строку (в данном примере это таблица ImportFileDefinitions), мне нужно перезапустить IIS, чтобы AuthorizationProvider применил мои новые разрешения.
У меня вопрос: как обновить AuthorizationProvider без перезапуска приложения?