0

커스텀 MembershipProvider와 AccountController를 만들었습니다. MVC 웹 애플리케이션에 사용자 로그인 기능을 구축하는 올바른 방법은 무엇입니까?MVC에서 로그인 양식을 구현하는 올바른 방법은 무엇입니까?

AccountController를 사용하여 무언가를 만드는 방법을 볼 수 있으며 사용자 지정 멤버 자격 공급자를 사용하여 무언가를 만드는 방법을 볼 수 있습니다. 두 멤버를 함께 사용하는 방법을 볼 수 있습니다. 이 두 가지를 사용해야합니까? onw가 다른 것을 대체 했습니까? 로그인 기능을 구현하는 데 더 나은, 또는 "표준"방식이 있습니까? 나는 정의를 사용하여 읽어 곳 http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7

그리고 이것이다 : 내가 계정 컨트롤러를 사용하여 읽어 곳 http://kitsula.com/Article/Custom-Membership-Provider-for-MVC

이것은 : 내가 함께 계정 컨트롤러를 사용하고는 MembershipProvider에 대해 읽어 경우

입니다 멤버십 제공자 : http://www.asp.net/web-forms/videos/how-do-i/how-do-i-create-a-custom-membership-provider

3 가지 솔루션은 모두 MVC에서 유효하지만이 솔루션의 일부/전부/하나가 구형입니까? MVC 등에서 사용하지 않아야합니다 ...

감사합니다.

답변

0
  • MVC3는 기존 멤버 자격 공급자의 업데이트 버전입니다 ASP.NET Universal Providers 함께 제공됩니다.

  • MVC4를 더 이상 사용되지 않습니다 간단한 회원 공급자 (내 생각)와 함께 제공됩니다.

  • MVC5는 기본적으로 ASP.Net Identity

함께 제공, 당신은 ASP.Net MVC 어떤 멤버 자격 공급자를 사용할 수 있습니다.

원래 질문으로 돌아 가기, 나는 올바른 방법이나 잘못된 방법이 있다고 생각하지 않습니다. 새 MVC5에서 사용자 지정 멤버 자격 공급자를 구현하려는 경우 가능합니다. 당신은 토큰 기반의 검증과 이중 인증 등의 최신 기술 을 새 응용 프로그램을 개발하려는 경우

, 당신은 2

참고 ASP.Net 신원을 조사하지 않으려 수 있습니다의 없음 이전 버전과 호환됩니다.(기존 유니버설 공급자와 다소 호환되는 ASP.NET 범용 공급자 제외).

1

계정 컨트롤러에 특별한 것은 없습니다. MVC 응용 프로그램의 다른 컨트롤러와 마찬가지로 컨트롤러 일뿐입니다. 그것은 단지 하나의 기능은 귀하의 웹 사이트에 로그인하는 과정을 처리하는 것입니다. 일반적으로 계정 컨트롤러라고 불리는 것에 관계없이 로그인을 처리하는 컨트롤러를 갖게됩니다. 그것은 login.aspx 페이지 나 login.php 페이지 또는 다른 것과 같습니다.

회원 자격은에 통합 된 클래스 집합입니다.NET 프레임 워크는 계정 자격 증명의 지속성 및 검증을 관리하는 세부 사항을 처리합니다. 순전히 계정을 저장하고 자격 증명의 유효성을 검사 할 수 있습니다.

Visual Studio 2012 및 .NET 4.5부터는 더 이상 선호되는 방법이 아니라 멤버쉽과 비슷한 기능을하는 ASP.NET ID (자격 증명 저장 및 자격 증명 유효성 검사)가 있습니다.

사용자는 로그인 할 수있는 메커니즘이 있어야하며 자격 증명의 유효성을 검사 할 수있는 메커니즘이 있어야합니다. 나는 보안이 매우 어렵 기 때문에 (쉬운 일임에도 불구하고) 프레임 워크에서 제공하는 메서드를 사용하고 보안 홀을 생성하는 것이 거의 확실하다는 점을 권한다.

특정 방식으로 자격 증명 정보를 저장해야하는 특별한 요구 사항이없는 경우 사용자 지정 멤버 자격 공급자를 만들 필요는 거의 없습니다. 회원 자격을 사용하는 경우, 그렇게하지 않는 확실한 이유가없는 한 기본 멤버십 제공자를 사용해야합니다. ASP.NET 멤버십을 사용하는 경우에는 기본 구현을 다시 사용해야합니다.

보안은 모든 사람이 자신을 굴릴 수 있다고 생각하지만 문제는 일반적으로 당신이 얼마나 작은 지 알기에 충분하지 않다는 것입니다. 전문가조차도 보안상의 실수를 자주 범합니다. 귀하의 질문에 대답하기 위해 지금

, ... MVC에서

는, 예 .. 그것은 로그인을 처리하는 또 다른 컨트롤러의 ... 계정 컨트롤러를 사용합니다. 어쨌든 어딘가에서이 작업을 수행해야합니다. 수행중인 작업에 대해 더 많이 알기 전까지 기본 구현을 사용하십시오. 보유하고있는 Visual Studio/MVC의 버전에 따라 기본 멤버쉽 또는 ASP.NET ID를 사용하십시오.