2009-07-23 2 views
4

У меня есть веб-приложение ASP.NET, которое я создал для клиента, который использует стандартную аутентификацию форм ASP.NET. Теперь они запрашивают приложение для рабочего стола (WinForms), которое работает «с» веб-приложением. Я создал веб-службы для доступа к данным, которые они хотят от веб-приложения, и поместил их в настольное приложение. Это отлично работает .. но там должен быть одинаковый уровень безопасности и доступа к данным на основе ролей, которые уже хранятся в приложении asp.net..Net-аутентификация для веб-и winforms

Итак, пришло время сделать работу по аутентификации в обоих приложениях. Я хотел бы воспользоваться аутентификацией asp.net, предложив логин, когда пользователь сначала откроет приложение WinForms, а вызовы могут быть веб-службой для аутентификации пользователя, получения роли пользователя и профиля.

Я уверен, что это было сделано или спрошено. Я просто не нахожу вопрос/ответ в SO.

ответ

1

Во-первых: используйте WCF для своих веб-сервисов. Это лучшая структура, чем старые службы ASMX.

Во-вторых: WCF может использовать те же классы RoleProvider и MembershipProvider, что и ваше приложение ASP.NET. Это простой переключатель конфигурации. Используйте их оба, и ваш веб-сервис требует тех же учетных данных, что и веб-приложение.

И ... это в значительной степени.

Для получения дополнительной информации см:

Implementing a Role Provider

Implementing a Membership Provider

How to: Use the ASP.NET Membership Provider

0

Чтобы добавить ответ Randolpho в: еще одна особенность, пользователи могли бы это способность сохранять свои полномочия, а не ввода их каждый раз, когда они запускают ваше приложение. Вы можете использовать API управления учетными данными для этого, как описано in this answer.

Смежные вопросы