문제

나는 작은 인트라넷을 만들려고 노력하고 있습니다. 이를 위해 로컬 PC에 웹 서버가 있습니다. 이 웹 사이트의 루트는 대시 보드이며 로그인/등록 기능 (기본 ASP.NET 멤버십)이 포함됩니다.

http://localhost
http://localhost/Account

인트라넷의 나머지 부분은 다음과 같은 하위 응용 프로그램으로 구성됩니다.

http://localhost/ApplicationName

루트 웹 사이트 및 대부분의 하위 응용 프로그램은 기본 ASP.NET 멤버십 제공 업체를 활용할 사용자의 인증이 필요합니다.

모든 프로젝트 (루트 및 서브)는 Visual Studio의 별도의 프로젝트이며 모든 프로젝트에는 배포를위한 자체 웹 세트 업 프로젝트가 있습니다.

1.) 하위 응용 프로그램에서 ASP.NET 멤버십을 어떻게 사용할 수 있습니까?

또한 대부분의 응용 프로그램 (루트 및 서브)은 타사 라이브러리 (데이터 프레임 워크)를 사용합니다.

2.) 루트 프로젝트에서 라이브러리를 어떻게 참조하고 하위 신청서에서 참조 된 라이브러리를 '사용'할 수 있습니까?

제안 해주셔서 감사합니다!

도움이 되었습니까?

해결책

여러 웹 프로젝트에서 사용할 수있는 클래스 라이브러리 프로젝트에서 공통 코드를 만듭니다. 멤버십 제공 업체의 경우 멤버십 데이터를 외부 SQL 인스턴스 (동일한 서버에있을 수 있음)에 저장 한 다음 동일한 연결 문자열을 사용하여 각 프로젝트에서 액세스해야한다고 생각합니다.

다른 팁

멤버십 하나 또는 많은 응용 프로그램과 함께 작동하도록 설계되었습니다. 각 응용 프로그램 멤버십 데이터를 수용 할 수있는 데이터베이스 인스턴스 (응용 프로그램의 모든 데이터베이스와 별도로)를 가질 수 있습니다. 모든 응용 프로그램이 동일한 멤버십 데이터를 사용하려면 동일한 ApplicationName (및 ConnectionString)을 제공하려면 각 응용 프로그램의 web.config의 멤버십 정의.

질문의 두 번째 부분에 관해서는, TVANFOSSON (의견과 함께)에 게시 된 답변은 올바른 길로 인도해야합니다.

편집 (@ ropstah 댓글) : 아, 나는 그것을 설명하지 않았다. 이 경우 구현하고 싶을 것입니다 단일 사인온 (SSO). Masoud Tabatabaei 게시 aspalliance.com의 기사 그것은 과정을 통과합니다. 또한, 답변 Keith Rull 에게 이 스택 오버플로 질문 도 도움이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top