Аутентификация веб-страницы ASP.Net с помощью службы членства в WCF

У меня есть веб-страница, созданная с помощью ASP.Net и другого набора инструментов, таких как WPF, приложения Windows Forms. Обязательно, чтобы веб-страница ASP.Net и весь набор приложений аутентифицировались в одной и той же базе данных поставщика членства ASP.Net.

Я хочу знать, как лучше всего пройти проверку подлинности с помощью службы WCF, использующей для проверки подлинность поставщика членства ASP.NET. Сделано ли что-нибудь из коробки для проверки подлинности веб-страницы ASP.NET с помощью службы проверки подлинности WCF? Мне нужно реализовать настраиваемого поставщика? Поскольку членство на веб-странице ASP.NET заполняет свойство пользователя IPrinciple информацией о пользователе, и мне нужно такое же поведение с проверкой подлинности службы WCF.


person JPP    schedule 24.11.2011    source источник


Ответы (1)


пользовательский поставщик членства - вот как я делал это раньше. это сработало очень хорошо. моя группа совершила ошибку, заставив службу wcf соответствовать интерфейсу поставщика членства, что было ненужным и беспорядочным. Если вы решите пойти по этому пути, я бы порекомендовал вам самостоятельно заключить контракт на обслуживание, как вы этого хотите, и внедрить у вашего провайдера эту услугу.

если бы я делал это снова, я бы вообще не использовал wcf, а просто использовал бы поставщика членства (существующий или настраиваемый, в зависимости от ваших потребностей) для приложения asp.net, которое напрямую обращается к базе данных, а чем слой wcf и имеют общую сборку, которую могут использовать другие инструменты, которые напрямую общаются с базой данных. даже имея общий код на уровне обслуживания wcf. Я не думаю, что использование сервиса действительно дает много такого, чего нельзя было бы получить, просто используя обычную сборку. поставщик членства asp.net в любом случае будет чем-то отдельным.

это предполагает, что вы находитесь в среде, где вы можете просто подключить инструменты рабочего стола к базе данных. Если это сценарий, развернутый в Интернете, вам, вероятно, нужно сделать это с помощью какой-либо службы, и wcf - отличный кандидат для этого. Тем не менее, вероятно, более короткий путь - использовать существующего поставщика членства и построить службу wcf на основе соответствующей базы данных, чем создавать поставщика членства, который использует службу wcf. я не думаю, что было бы плохим выбором сделать второе, но вам, вероятно, будет лучше с первым. Хотя это, конечно, зависит от множества факторов.

person Dave Rael    schedule 25.11.2011
comment
Спасибо за мнение. Я хотел изменить идеи. Я согласен со всеми вашими точками зрения. Но для меня достаточно того, что вы создали настраиваемого поставщика для приложения ASP.NET, использующего службу WCF для проверки подлинности. Эта проблема больше для создания POC, чем для требования :). - person JPP; 01.12.2011