2009-07-28 3 views
13

LINQ to SQL을 사용하여 사용자 지정 멤버 자격 공급자를 구현했습니다. 웹 사이트에서 asp.net mvc 웹 사이트에 회원 공급자를 추가하면 로그온 페이지가 작동하지 않습니다.ASP.NET MVC 사용자 지정 멤버 공급자 Web.config 오류

내의 Web.config 설정 :

파서 오류 메시지 : 기본 멤버 자격 공급자를 찾을 수 없습니다

<membership> 
    <providers> 
    <clear/> 
    <add 
     name="MyMembershipProvider" 
     type="MyMembership.MyMembershipProvider" 
     connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="false" 
     passwordFormat="Hashed" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     passwordStrengthRegularExpression="" 
     applicationName="/"/> 
    </providers> 
</membership> 

내가 오류는 다음과 같습니다.

소스 오류 :

Line 53:   <forms loginUrl="~/Account/LogOn" timeout="2880"/> 
Line 54:  </authentication> 
Line 55:  <membership> 
Line 56:   <providers> 
Line 57:    <clear/> 

여기에서 진행하는 위치에 부착하고있다. 오류가 주 코드에서 호출 된 것 때문에 중단 점을 설정할 수 없습니다.

asp.net mvc의 기본 프로젝트와 함께 제공되는 표준 멤버십 코드를 사용하고 있습니다. 멤버 자격 공급자는 웹 프로젝트에 포함 된 별도의 어셈블리로 구현됩니다.

도움을 주시면 감사하겠습니다.

감사합니다.

답변

26

회원 태그에 "Default = MyMembershipProvider"를 추가하십시오. 기본값을 지정하지 않으면 ASP 표준을 사용하려고합니다.

+3

처럼 즉, 어셈블리 자격을 갖춘 형태의 문자열이 될 필요가 있고 그것은 일했다! 고맙습니다! – Lukasz

+3

ASP.Net에 정확히 하나의 구성된 공급자 목록 ('')이 있으면 다른 공급자를 모두 제거해야합니다. * 구성되지 않은 기본 공급자로 선택합니다. 굉장해. 매우 기뻤습니다. –

3

시도 할 수있는 2 가지. 1 번 : 디버그 입니다. 모든 예외를 중단하고 .NET Framework 용 소스 코드를 포함한 디버그 기호를 다운로드하면됩니다.

수 두 : 당신의 유형이 다른 어셈블리에 정의되어 있기 때문에, type의 문자열은 아마 <회원 defaultProvider = "MyMembershipProvider"> 내가 추가

type="MyMembership.MyMembershipProvider, MyAssemblyName" 
관련 문제