Как перезагрузить AuthorizationProvider - PullRequest
0 голосов
/ 19 июня 2019

По специальному требованию моего проекта. Мне нужно предоставить разрешение на строку данных, поэтому я настроил 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 без перезапуска приложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...