2013-02-16 3 views
0

asp.net 라이브러리의 기본 클래스를 상속하고 web.config 파일에 공급자를 등록하는 멤버 자격 공급자를 만드는 방법에 대해 많은 사람들이 이야기하는 것을 이해할 수 없습니다. 우리는 이것을하지 않고 우리가 원하는 것을 얻을 수 있기 때문입니다. 사용자가 해당 데이터베이스에 있는지 확인하고 사용자를 추가하고 FormsAuthentication.SetAuthCookie을 호출하여 사용자를 인증하면 모든 것이 작동하는지 확인할 수있는 정적 클래스를 작성했습니다. 잠깐, 왜 우리가 사용하는 공급자를 web.config 파일에 알려야하는지. 왜 우리 제공자는 회원 공급자를 상속해야합니까?공급자에 대해 .net을 사용하는 이유는 무엇입니까?

답변

2

왜 우리가 어떤 공급자를 사용하는지 web.config 파일에 알려야합니다.

이것이 공급자 모델이 ASP.NET에서 작동하는 방식입니다. 사용자 정의 공급자를 작성하는 경우 web.config에 등록해야합니다. 또한 응용 프로그램에서 사용할 기본 공급자를 지정해야합니다. 역할 공급자에 대해서도 마찬가지입니다.

우리 제공 업체는 멤버 자격 공급자를 상속해야합니까?

아니요, 그렇게하지 않아도됩니다. 사용자 자격 증명을 확인하거나 새 사용자를 만드는 것과 같은 멤버 자격 공급자의 작업을 수행 할 수있는 완전히 사용자 정의 된 코드를 가질 수 있습니다.

멤버 자격 공급자는 대부분의 개발자가 잘 알고있는 ASP.NET 응용 프로그램에서 이러한 작업을 수행하는 표준 방법 일뿐입니다. 고유 한 사용자 정의 코드를 작성하기로 결정한 경우 새 개발자가 팀에 합류하면이 모든 사용자 정의 코드에 대해 알아야합니다.

또한 정적 클래스를 작성했다고 언급했습니다. 이러한 종류의 정적 클래스의 단점은 응용 프로그램의 여러 계층을 강력하게 연결하여 격리하고 테스트하고 다시 사용하기 어렵다는 것입니다. 회원 공급자의 요점은 이것이 추상화라는 것입니다. 또한 모든 기능이 필요하지 않은 경우 사용자 지정 멤버 자격 공급자를 작성할 때 모든 메서드를 재정의 할 필요가 없습니다. 당신이 실제로 사용하고있는 것만.

+0

하지만 web.config에 공급자를 등록하지 않고도 모든 작업을 완료했습니다. 곧, 우리가하지 않으면 잘못 될 것입니다. –

+0

커스텀 클래스가'MemberhipProvider' 클래스에서 파생되지 않으면 web.config에 아무것도 등록 할 필요가 없습니다. –

+0

등록 여부에 따라 무엇이 변경되는지 아직도 이해하지 못합니다. 어떻게 영향을 미칩니 까? –