2013-03-08 3 views
1

첫 번째 MVC 프로젝트에서 작업 중이며 사용자 지정 멤버 자격 공급자를 구현하는 것입니다. 가능한 한 해당 코드 중 일부를 재사용하려면 asp.net 3.5 Web Forms 전에 구현 한 있습니다. 우리의 데이터는 원격 웹 서비스에서 제공되므로 표준 멤버십 데이터베이스를 사용하지 않을 것입니다.MVC 4 사용자 지정 멤버 공급자 문제

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 
    <membership defaultProvider="wwdllMembershipProvider" userIsOnlineTimeWindow="15"> 
     <providers> 
      <add name="wwdllMembershipProvider" type="wwdllMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" writeExceptionsToEventLog="false" enablePasswordChange="true" /> 
     </providers> 
    </membership> 

가 거기에서 난 그냥 가고 있었다 :

public class wwdllMembershipProvider : MembershipProvider 

내가 Web.config의에서 다음 넣어 : 는 웹 폼에서 약간의 연구와 경험을 바탕으로 내 클래스를 생성 내 멤버쉽 공급자의 스텁 된 코드가 부딪혔다는 것을 확인하십시오. 그러나 응용 프로그램에서 로그인 링크를 클릭하자마자 다음 오류가 나타납니다.

SQL Server에 연결하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (공급자 : SQL 네트워크 인터페이스, 오류 : 26 - 서버/인스턴스 지정 오류 지정) 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

예외 정보 : System.Data.SqlClient.SqlException : SQL Server에 연결하는 동안 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오.

소스 오류 - (공급자 : SQL 네트워크 인터페이스, 오류 26 오류는 지정된 서버/인스턴스 찾기) : 나는 단순 멤버 자격 공급자 코드가 실행 것이라고 생각하지 않았기 때문에 나에게 당혹

Line 55:      using (var context = new UsersContext()) 
Line 56:      { 
Line 57:       if (!context.Database.Exists()) 
Line 58:       { 
Line 59:        // Create the SimpleMembership database without Entity Framework migration schema 


Source File: c:\Users\mburt\Documents\Visual Studio 2012\Projects\eSales\4300\Siriusware.eSales\Filters\InitializeSimpleMembershipAttribute.cs Line: 57 

web.config 설정이 비활성화되어 있기 때문입니다.

누군가 내가 잘못하고있는 것을 지적 할 수 있습니까? 감사!

+0

이 오히려 상장에서 사용자 이름과 회사를 제거 할 수있는 정보를 편집 할 수 있습니다. – Cornelius

답변

2

기본 계정 컨트롤러는 바로 특성으로 장식되어 있습니다. 그것이 아직 존재하는지 확인하십시오.

(아래 기본 MVC4 프로젝트 코드는.)

namespace MvcApplication2.Controllers 
{ 
    [Authorize] 
    [InitializeSimpleMembership] 
    public class AccountController : Controller 
    { 
     [...] 
    } 
} 
+1

당신은'[InitializeSimpleMembership] '주석을 제거해 주셔서 감사합니다. – Stainedart

관련 문제