사용자 이름을 수락하는 대신 멤버쉽 API에서 사용자 이름으로 전자 메일 주소를 사용하고 싶습니다. 이메일 주소를 사용하여 내 사이트에 가입 할 수 있고 사용자 이름과 비밀번호 대신 이메일 ID와 비밀번호를 사용하여 로그인 할 수 있습니다.ASP.NET에서 사용자 이름으로 전자 메일 주소를 설정하십시오. 멤버십 공급자
4
A
답변
4
강제 사용자 이름 = 사용자 이메일.
이렇게하려면 올바른 전자 메일을 사용자 이름으로 허용하기 위해 사용자 생성 양식에 RegEx 유효성 검사기를 넣으면됩니다.
사용자의 이메일에 따라 기존 사용자 이름을 바꿉니다.
7
이것은 우리가 한 일이므로 재사용이 가능하며 web.config에서 등록 할 수 있습니다. 당신이 그것에 대해 생각한다면, 이것은 그것이 중요한 곳입니다. 유효성 검사 및 프론트 엔드가 최종 사용자에게 사용자 이름이 전자 메일이어야 함을 나타내며 적절한 유효성 검사를 수행하면 ... 정상적인 호출로 어떤 멤버 자격 공급자가 여러분을지지하는지 확인합니다. 바로 가기 버전의 새로운 방법과 원래의 외관 뒤에 숨겨진/숨기기.
public class EmailAsUsernameMembershipProvider : SqlMembershipProvider
{
public MembershipUser CreateUser(string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
return base.CreateUser(email, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
}
private new MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
return base.CreateUser(email, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
}
public override bool RequiresUniqueEmail
{
get
{
return true;
}
}
}
5
이미이 스레드에 설명 된대로이 모든 것이 가능하지만주의해야 할 한 가지가있다 : 데이터베이스에 사용자 이름이 50 개 문자 (테이블 사용자) 이메일 (테이블 구성원은) 256 개 문자입니다 오래 동안이다 긴. 사실 그것은 짧은 이메일 주소를 의미합니다. :)
관련 문제
- 1. Django의 사용자 이름으로 전자 메일
- 2. Joomla에서 사용자 이름으로 전자 메일 주소를 사용하려면 어떻게해야합니까?
- 3. ASP.NET SQLMembershipProvider - 사용자 이름으로 전자 메일
- 4. MVC3 사용자 지정 멤버십 공급자
- 5. 메일 주소를 연락처 이름으로 확인하십시오.
- 6. ASP.NET 로그인 컨트롤에서 사용자 이름으로 전자 메일 사용
- 7. 주기적으로 전자 메일 보내기 Asp.Net에서
- 8. 역할 공급자 선택 - ASP.net 멤버십 공급자
- 9. ASP.NET 멤버십 공급자 - 단일 로그인
- 10. MySQL 사용자 테이블 : 동일한 전자 메일 주소를 가진 행을 찾습니다.
- 11. Drupal 전자 메일 주소를 사용자 참조로 보내는 규칙
- 12. HP QC Script Editor에서 사용자 전자 메일 주소를 읽는 방법?
- 13. 사용자 등록 양식에서 중복되는 전자 메일 주소를 방지하는 방법은 무엇입니까?
- 14. asp.net mvc 및 사용자 지정 멤버십 및 역할 공급자
- 15. Git이 공개적으로 내 전자 메일 주소를 노출합니까?
- 16. Outlook 2007의 전자 메일 주소를 복사하는 방법
- 17. Python : 전자 메일 주소를 HTML 링크로 변환
- 18. 우리 군용 전자 메일 주소를 감지
- 19. 들어오는 전자 메일 주소를 얻는 방법 - Sharepoint?
- 20. 전자 메일 주소를 대체 할 정규식
- 21. 전자 메일 주소를 입력하는 구성 요소
- 22. PHP에서 전자 메일 주소를 어떻게 정규화합니까?
- 23. MFMailComposeViewController로받는 사람의 전자 메일 주소를 확인하십시오.
- 24. 전자 메일 주소를 확인하고 파일을 추출하십시오.
- 25. 전자 메일 주소를 메시지 본문에 표시하려면 어떻게합니까?
- 26. Wordpress 설치 : "오류 : 전자 메일 주소를 제공해야합니다."
- 27. Outlook 연락처의 전자 메일 주소를 변경하는 스크립트
- 28. 전자 메일 주소를 OpenID로 사용하는 것이 왜 위험합니까?
- 29. 계정으로 보낸 전자 메일에 응답하도록 전자 메일 서버를 설정하십시오.
- 30. 전자 메일 주소를 기반으로 웹 메일 공급자에 연결하는 방법은 무엇입니까?
나는 DAL/BLL 및 웹 응용 프로그램과 같은 구조를 가지고있는 웹 응용 프로그램을 사용하고 있습니다. (비즈니스 논리 계층 데이터베이스 액세스 계층 및 웹 응용 프로그램의 다른 계층의 조합은 SQL 공급자 클래스를 상속하는 방식으로 수행 할 수 없습니다. 그래서 ... – user685565
우리 앱은 같은 것을 사용합니다. asp.net의 멤버십을 사용하는 경우입니다. 멤버십을 사용하지 않으려면 회원 전용 멤버십을 작성해야합니다. 우리는 사용자에게 넥서스하기위한 guid를 가지고있다. 우리는 httpContext에 주입되어 그 쿼리를 랩핑하여 데이터를 메이트하고 현재 로그인 한 사용자에게 쉽게 액세스 할 수있게하는 SecurityContext 객체를 가지고있다. 당신의 질문에이 대답이 그것을 커버하지 않는다면. –