.Net 사용자 지정 멤버 자격 공급자 사용 / 쓰기의 단점은 무엇입니까?


12

최근에 나는 SO에 다음과 같은 질문을 게시했습니다 : https : //.com

아시다시피, 나는 "맞춤 멤버십 제공자"를 작성 / 구현하는 것처럼 보인 내 자신의 질문에 대답했습니다.

문자 그대로 몇 분 후 나는이 질문을 우연히 발견했습니다 : https : //.com/questions/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407

.Net Membership provider가 "많은 수준에서 끔찍합니다"라는 답변을 받고 답장을 보내려고합니다. 나는 이것이 멤버쉽 제공자를 처음 사용하는 것이지만, 나에게 매끄럽게 보였다는 것을 인정할 것이다.

나는 "끔찍한"주장을 뒷받침하는 것을 본 적이 없어서 "끔찍한"것을 구현하기 전에 커뮤니티로부터 피드백을 받기를 바랐습니다.


답변을 기대, +1 ..
Pankaj Upadhyay

답변:


1

그래서 여기서 "끔찍한"이 최고의 단어인지 확신 할 수 없습니다. 그러나 여기에는 제한이 있으며 멤버쉽 공급자가 설계된 방식에 맞지 않게되면 많은 접착제 코드가 생깁니다. 당신이 즉시 회원 자격 공급자를 사용할 수 있다면, 나는 그것을 갈 것이라고 말할 것입니다. 어쨌든 회원님의 질문에 맞춤 질문을 작성하자마자 질문합니다.

내 경험상 멤버쉽 제공 업체가 귀하를 구매합니다

  • MVC 앱용으로 이미 가입
  • 계정 편집
  • 비밀번호를 잊어 버리기 쉽다
  • 사용자 방법 확인

나는 내가 잃어버린 다른 것이 있다고 확신하지만 이것이 큰 것이라고 생각합니다. 이제 기존 데이터 모델을 사용하기 위해 사용자 정의 비밀번호 관리, 2 단계 인증, 또는 손실 된 다른 모든 항목이 필요한 경우. 회원 자격으로 이미 작성한 코드는 수행중인 작업을 알고있는 경우 복제하는 데 며칠 정도 걸립니다.


1

원하는 것을하지 않습니다. 언뜻 보면 모든 요구와 일부를 처리하지만 새로운 요구 사항이 나타납니다. 이제이 작업이 어떻게 작동하는지 '정말'배워야합니다. 이러한 사전 구축 기능을 모두 사용하면 그에 대한 잘못된 보안 감각으로 인해 혜택이 줄어 듭니다.

@Travis는 기존 데이터 모델을 사용하여 언급했지만 데이터베이스 선택도 제한이 될 수 있습니다. Oracle?

Facebook 또는 Google과 같은 타사 인증 시스템에서 작동하는지 모르겠습니다.


1

많은 사람들이 문서를 빠르게 읽을 때 생각하는 것만 큼 유연하지는 않지만 자신의 자리가 있습니다.

사용자 토큰을 제어 할 필요가없고 사용자 정의 / 확장 사용자 데이터 또는 멤버십 세트 만 빌드해야하거나 기존 / 다른 소스에서 해당 데이터를 가져와야하는 경우.

그 이상을 변경하려면 인증 제공자 중 하나를 실행하는 httpmodule을 바꾸는 것이 좋습니다. 그러면 모든 제어권을 얻게됩니다. 제공자와 일을 겪은 대부분의 사람들은이 수준에서 자신의 상황에 대해 잘못된 선택을했습니다.

어떤 방법 으로든 올바르게 채워진 context.user를 사용하여 대부분의 asp.net 기반 사용자 기능을 계속 사용할 수 있습니다.


1

이 질문은 오래되었지만 인기로 인해 배지를 받고 있으므로 업데이트 된 답변을 제공 할 가치가 있다고 생각합니다.

마이크로 소프트의 "Simple"멤버쉽 제공 업체는 마침내 나의 겸손한 견해로 그것을 얻었습니다. 새로운 것을 작성하거나 새로운 응용 프로그램으로 레거시 데이터베이스에 연결하는 경우. 간단한 멤버쉽 공급자를 사용하십시오. WAY EASIER 및 CLEANER를 구현하십시오. 몇 개의 테이블을 설치하고 공급자를 사용자 목록으로 지정하면 기본적으로 완료됩니다.

이 링크는 당신을 시작하거나 그냥 구글로 연결합니다 : http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/


간단한 멤버십 제공 업체는 바로 그 것입니다. 간단한
hanzolo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.