2014-09-11 7 views
2

두 개의 웹 응용 프로그램 (웹용 응용 프로그램과 백 오피스 응용 프로그램)이 있습니다. 둘 다 동일한 회원 데이터베이스를 사용하지만 사용자는 애플리케이션 ID로 정의됩니다. 백 오피스에서 웹 애플리케이션에 대한 사용자에게 액세스 할 수 있기를 원합니다. 이것이 가능한가?동일한 회원으로부터 여러 ASP.NET 웹 응용 프로그램에 대한 사용자 가져 오기 db

Memberhip.GetAllUsers()를 수행 할 수 있다고 가정했지만이 작업을 수행 할 때 백 오피스에있는 것처럼 해당 응용 프로그램의 사용자 만 반환합니다. 사용자가 원하는 응용 프로그램을 구체적으로 지정할 수 있습니까? 즉 Membership.GetUsers ("theapplicationid") 또는 무엇인가?

도움을 주시면 큰 도움이됩니다.

+0

표준 멤버십 공급자를 사용하고 있습니까? 한 가지 방법은 응용 프로그램 부분을 무시하고 자신의 공급자를 작성하는 것입니다. – Alexander

+0

흠, 내 자신의 쓸 필요없이 주위에 방법이 있기를 바랐지만 아무 것도 간단한 것처럼 보이지 않았습니다! 정보 주셔서 감사합니다 :-) –

+1

약 10 줄의 코드에서 수행 할 수 있습니다. 현재 (SQL?) 공급자를 상속하고 'Application' 속성 하나만 재정의합니다. 나는 신선한 커피를 마시고, 내가 돌아 왔을 때, 너는 끝났어. – Alexander

답변

0

모든 사용자가 모든 사이트에 액세스 할 수있는 경우 모든 사이트에 동일한 응용 프로그램 이름을 사용할 수 있습니다. 여기 ScottGu의 블로그에 "왠"과 "어떻게"를 설명하는 낡았지만 여전히 유효한 link이 있습니다.

주의 사항 : 하나의 응용 프로그램 이름 만 사용하도록 기존 멤버십 데이터베이스를 변환해야합니다.

+0

백 오피스 사용자는 백 오피스에만 액세스 할 수 있으며 반대의 경우도 마찬가지입니다. 나는 그들에게 모든 응용 프로그램에 대한 액세스 권한을 부여하고 싶지 않습니다. –

+1

응용 프로그램/멤버십 데이터베이스가 하나 뿐인 시스템에 "backoffice"와 "web"의 두 가지 역할을 도입하여 이러한 차이를 구분할 수 있습니다. –

+0

나는이 아이디어가 마음에 든다! 감사 :-) –