2009-05-25 6 views
2

ASP.NET MVC 응용 프로그램의 멤버 자격을 어떻게 처리합니까? 외부 라이브러리를 사용하고 있습니까? OpenID 로그인은 어떻게 하시겠습니까? 사용자 이름으로 로그인 하시겠습니까? 전자 메일로 로그인 하시겠습니까? 조사 할 가치가있는 다른 것? 어쩌면 그들 모두가 응용 프로그램에 섞여 있을까요?ASP.NET MVC 애플리케이션의 멤버십을 처리하는 방법은 무엇입니까?

ASP.NET은 일부 미리 빌드 된 사용자 데이터베이스와 함께 제공됩니다 (저는 완전히 .NET에 익숙합니다). NerdDinner 예제에서는이를 사용하지만 외래 키는 사용자 이름을 사용합니다. 그건별로 좋지가 않아. 두 개의 개별 데이터베이스 또는이 하나의 스키마 만 사용합니까? 외래 키로 어떤 ID를 사용합니까?

ASP.Net MVC Membership 누구나 사용하고 있습니까? 잘 작동합니까? 그것은 유지 될 것으로 기대 될 수 있습니까?

답변

4

회원 공급자는 ASP.Net MVC에 새로운 것이 아니며 ASP.Net 2.0에서 소개되었습니다. Membership Provider 모델은 응용 프로그램과 사용자를 인증하는 원본간에 단순한 추상화 계층입니다. web.config 파일을 변경하여 공급자를 쉽게 전환 할 수 있습니다.

멤버십 공급자를 작성하는 것은 쉽습니다. 웹에서 많은 연습이 있습니다. 일반적으로 ASP.Net (대부분의 경우)과 함께 제공되는 기본 예제와 다른 스키마를 사용하는 데이터베이스를 사용하는 경우 그렇게 할 수 있습니다. NerdDinner 예제의 사용자 이름에있는 외래 키는 실제 데이터베이스에서는 거의 볼 수없는 단순한 예입니다.

매우 회원 자격 모델을 사용하는 것이 좋습니다. 로그인 컨트롤과 같은 컨트롤은이 컨트롤을 사용하기 위해 만들어졌으며 잘 디자인되어있어 응용 프로그램에 다른 로그인 메서드를 쉽게 변경하거나 결합 할 수 있습니다. OpenID를 사용하려면 빠른 Google 검색이 OpenID Membership Provider입니다.

+0

MVC 응용 프로그램에 대한 컨트롤로 인해 멤버 자격 공급자를 권장하는 것은 잘못되었거나 적용 할 수 없습니다. 서버 쪽 컨트롤이 MVC 비트로 전염병처럼 피하는 방법 중 하나 인 것을 확인하십시오. – blowdart

+0

"회원 서비스를 작성하는 것이 쉽습니다"라는 의견에 동의하지 않습니다. 공급자는 쉽게 확장 할 수 없습니다. 자신 만의 롤을 만들고 싶다면 모든 방법을 겹쳐 써야합니다 ... 많은 것들이 있습니다. 어쨌든 Membershipsystem은 많은 응용 프로그램을위한 좋은 선택입니다. –

+0

@blowdart - true, 그러나 MVC와 ASP.Net은 상호 배타적이지 않으며 여전히 멤버십 공급자를 활용해야합니다. @Mathias - 인터페이스를 구현하면됩니다. 대부분의 응용 프로그램은 사람을 로그인하고 사용자 관리가 필요하지 않은 ValidateUser() 함수 만 필요하므로 대부분의 경우 함수 중 하나만 구현하면됩니다. – womp

관련 문제