2013-03-25 9 views
0

활성 디렉토리를 사용자 저장소로 사용하는 경우 데이터베이스의 정보를 특정 사용자와 어떻게 관련시킬 수 있습니까? 인증 후에 데이터베이스에 삽입해야합니까? 아니면 인증을 위해서만 광고 멤버 자격 공급자를 사용하고 SQL 멤버 자격 공급자를 사용해야합니까?활성 디렉토리 멤버십 공급자 및 사용자 데이터

답변

3

회원 공급자는 인증에만 관심이 있습니다. 권한 부여 (인증과 동일한 것은 아닙니다)는 논리에 의해 수행되며, 필요에 따라 역할 공급자와 함께 수행됩니다.

역할에 대해 Active Directory를 사용할 수 있지만 ASP.NET에는 기본 (예 : http://www.codeproject.com/Articles/28546/Active-Directory-Roles-Provider)이 포함되어 있지 않으므로 외부 구현을 사용해야합니다.

당신이 회원에 대한 AD를 사용하고 있지만 데이터베이스에서 사용자를 추적하려면 다음이 독특하고 불변 모두의 때문에 AD 사용자의 objectGUID 속성을 사용하는 것이 좋습니다 경우, cnobjectSid 같은 다른 속성은 고유 한 것이 아니라, 불변.

개인적으로 나는 다른 모든 것들과 항상 얽혀 있지 않은 응용 프로그램에서 논리적으로 분리 된 관심사를 만드는 특별한 처리가 필요하기 때문에 개인적으로 ASP.NET 프로젝트의 Membership/Roles/Profiles 기능을 사용하지 않습니다. 특히 엔터티에 ORM을 사용하는 경우에는 응용 프로그램을 사용해야합니다. Membership 개체가 모델에 새 인터페이스를 제공하기 때문에 사용자의 응용 프로그램의 내부 엔터티 모델과 관련하여 복잡한 구현을 피하기 위해 사용자가 구현 한 경우에도 여전히 문제가 발생합니다. 사용자 인터페이스를 구현하기 위해 기존 시스템 위에 구현해야하는 인터페이스 . 따라서 매우 기본적인 웹 사이트에 회원/역할/프로필 만 사용하는 것이 좋습니다.

+0

응답 해 주셔서 감사합니다. 초자연적 인 사이트 이상으로 어떤 경로를 권장합니까? – Robert

+0

@ 로버트 당신의 요구 사항에 대해서는 아무 것도 몰라요. (하지만 보통은 처음에 응용 프로그램 아키텍처와 데이터베이스 디자인을 망치고 시작합니다.) – Dai