Какие-нибудь основы аутентификации и авторизации для Windows Form Application? - PullRequest
7 голосов
/ 09 декабря 2008

Я разработчик на C #. Я разрабатываю как Windows, так и веб-приложения. Я хотел бы создать приложение Winforms, которое имеет систему на основе ролей. Все пользователи должны быть в роли / группе. Затем мы назначаем права, такие как «Просмотр, Добавить, Обновить, ..» для роли / группы. Роль / группа является динамической, поэтому мы позволяем пользователям определять ее.

Существуют ли какие-либо фреймворки и хорошие примеры проектов для его реализации?

Ответы [ 4 ]

1 голос
/ 12 декабря 2008

Если вы уже знакомы с ASP.NET, то вы, вероятно, знакомы с системой членства / роли / профиля ASP.NET, с поставщиками по умолчанию и возможностью добавлять свои собственные без особых хлопот.

Не было бы замечательно, если бы вы могли использовать все это из своих приложений Windows Forms или WPF? Да? Ну тогда взгляните на Службы приложений ASP.NET ! Вы просто настраиваете веб-сайт для предоставления URL-адреса аутентификации, а затем указываете своему приложению использовать его. Вы можете создать свое собственное окно входа в систему и иметь возможность открывать его службами приложений при необходимости или использовать собственную логику и вызывать методы самостоятельно.

Он имеет полную поддержку «автономного режима», где он кэширует хэш пароля для сравнения, он также может кэшировать роли и позволяет использовать настройки профиля.

1 голос
/ 09 декабря 2008

Для подробностей реализации вы смотрели на "принципалы"? Смотрите мой ответ здесь . При таком подходе в коде можно использовать безопасность на основе ролей, например:

    [PrincipalPermission(SecurityAction.Demand, Role="ADMIN")]
    static void SomeMethod()
    {...}

Сама среда выполнения теперь проверит, что для доступа к этому методу у пользователя должна быть ваша роль «ADMIN» (очевидно, вы также можете отключить опцию в пользовательском интерфейсе, установив IsInRole(...)). Очень мощный.

1 голос
/ 09 декабря 2008

Если вы не слишком любите изобретать велосипед, взгляните на продукт под названием Visual Guard . Он позволяет легко повысить безопасность вашего приложения с минимальными затратами и имеет действительно полнофункциональный набор инструментов.

1 голос
/ 09 декабря 2008

Я обычно катаюсь самостоятельно, так как .NET Framework довольно полнофункциональный в этом отношении, но вы можете попробовать MS Authorization и Profile Application Block .

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