2008-12-09 7 views
7

Я разработчик C#. Я разрабатываю как Windows & Веб-приложения. Я хотел бы создать приложение Winforms, основанное на ролевой системе. Все пользователи должны иметь роль/группу (группы). Затем мы назначаем разрешения типа «View, Add, Update, ..» в role/group. Роль/группа динамическая, поэтому мы позволяем пользователям ее определять.Любые рамки аутентификации и авторизации для приложения Windows Form?

Есть ли какие-либо рамки и хорошие примеры проектов для его реализации?

ответ

1

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

+0

Мне нужно будет изучить это. Легко ли распространять профили пользователей и роли в базе данных? – w4g3n3r 2008-12-12 06:25:07

+0

Не знаю. Я лично никогда не использую его ... – 2008-12-12 13:27:31

1

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

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

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

1

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

1

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

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

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