당신은 멤버 자격 공급자의 "applicationName에"속성의 이름을 지정하지 않을 때 일반적으로 발생합니다. 이로 인해 멤버쉽 공급자는 웹 서버의 vroot 경로를 사용하게됩니다.
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/"
/>
</providers>
그래서 당신은 예를 들어 하나에서 응용 프로그램을 이동하는 경우 : 당신이 지정이없는 경우는 applicationName에 속성의 기본값을 볼 수 있습니다 아래의 예에서
폴더에서 다른 응용 프로그램으로 이동하면 새 응용 프로그램이 구성원 데이터베이스에 만들어집니다.
이 문제를 해결하는 방법은 "applicationName"속성에 이름을 지정하는 것입니다. 회원 데이터가 이미있는 경우 기존 애플리케이션 이름 중 하나로 이름을 지정할 수 있습니다. "aspnet_Application"테이블의 "ApplicationName"열입니다.
Always set the "applicationName" property when configuring ASP.NET 2.0 Membership and other Providers
:
ScottGu는 여기에 좋은 게시물을했다