C#. Использование ролей авторизации для разрешения вызова метода

335
01 августа 2017, 14:43

Здравствуйте!

В старом приложении на C# (WinForms) вручную (без использования внешних фреймворков авторизации/аутентификации) написана примитивная система входа пользователей в систему под ролями. Нужно добавить в код разграничение доступа по ролям. Т.е. вызов методов или событий возможен для определенных ролей.

Было бы идеально указывать права доступа через атрибут на метода (как в ASP.Net MVC)

[Role("Admin")]
public void Foo()
{
}

Все примеры использования атрибутов, которые я видел, это вытягивание параметров атрибута в самом методе через рефлексию. Но тогда мне проще создать сервис проверки, который вызывать в начале каждого метода, сервис внедрять через DI.

Можно ли, как то в коде атрибута Role, прописать что он вызывается до метода, на который он применен, и проверить роль текущего пользователя, и выдать или запретить команду на исполнение самого метода?

READ ALSO
Обработка клика по элементу в ListView

Обработка клика по элементу в ListView

Есть ListView, в котором отображаются папкиМне нужно, чтобы по клику на элементе, в другом ListView отображались список файлов в папке на которую...

301
Создать xml файл без декларации

Создать xml файл без декларации

Необходимо сохранить xml файл на диск без декларации вида <?xml version="10" encoding="UTF-8"?>

269
Как я могу в .net сериализовать GUID без дефисов?

Как я могу в .net сериализовать GUID без дефисов?

Как я могу вnet сериализовать в формат XML GUID без дефисов?

270