ASP.NET MVC3에서 웹 사이트 (축구, 축구)를 만들고 있는데, 사용자가 기본 멤버쉽에 추가 정보가있는 사용자 (일반 사용자)와 원하는 플레이어가 있어야합니다. 그들은 사용자를 계승하고 복장 번호로 일부 addional iformation을가집니다 ... 플레이어는 기사를 게시 할 수도 있고 사용자는 기사에 댓글을 달 수 있습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 기본 멤버십 공급자를 사용해야합니까, 아니면 제 사이트를 만들거나 제 3 자 솔루션을 사용해야합니까? 그리고 당신은 asp.net MVC3에 대한 자신의 공급자를 만들기위한 원래 공급자 또는 기사를 변경하기위한 몇 가지 기사 및 자습서를 게시 할 수 있습니까? 아니면 MVC2와 동일합니까?맞춤 회원인지 여부
답변
회원 자격 공급자를 만드는 것은 매우 쉽습니다. 그냥 MembershipProvider에서 파생 된 클래스를 만듭니다. 그리고 DB (예 : 다른 데이터 소스)를 조사하는 구성원을 구현하십시오.
public class YourMembershipClass: MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
return YourDataLayer.ValidateUser(username, password);
}
public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
{
return YourDataLayer.GetSpecificUser(providerUserKey, userIsOnline);
}
// Implement the other methods as well
}
다음의 Web.config에 YourMembershipClass을 추가
<membership defaultProvider="MlgMembership">
<providers>
<clear />
<add name="CustomMembership" type="YourMembershipClass" enablePasswordRetrieval="false" />
</providers>
</membership>
soccer 클럽 사이트 asp.net 스타터 키트를 살펴보십시오.
귀하의 멤버십 제공 업체를 구현하는 것이 좋습니다. 이는 필요한 비트만 구현하고 모든 사용자 관리를위한 기반을 형성한다는 것을 의미합니다.
회원 공급자는 WebForms와 MVC에서 동일하므로 SO와 Google에 대한 몇 가지 예가 있습니다.
당신이 예를 들어, 프로파일 유형의 정보를 저장하고자하는 경우 각 사용자에 대한 성, 이름, 직위 등을 입력하면 ASP.NET 멤버쉽에 Profile
시스템을 사용할 수 있습니다. 더 많은 ID 관련 정보를 저장하려면 예를 들어 맞춤 멤버십 공급자를 만들어야합니다. http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider
다른 유형의 사용자가 다른 작업을 수행 할 수 있도록 허용하려면 ASP.NET 시스템에 Roles
시스템을 사용할 수 있습니다. 특정 역할에 속한 사용자의 전화 만 허용하도록 작업 방법을 알릴 수 있습니다. 예를 들어 당신은 PostArticle 동작 방법이 있고 당신은 당신이이 같은 것 액세스 할 수 있도록 플레이어를 원한다면 :
[Authorize(Roles="Player")]
public ActionResult PostArtcile(){
return View();
}
Authorize
속성 만 "플레이어"역할에 인증 된 사용자를 허용하는 MVC 지시를 액션 메소드를 호출합니다. 프런트 엔드에서 게시물 글 링크의 사용 가능 여부를 제한해야하지만 여러 가지 방법이 있습니다.
를 기반으로 모든 것을 회원을 포함 스콧 미첼에 의해 기사의 큰 시리즈가있다 : http://www.4guysfromrolla.com/articles/120705-1.aspx
I 조언 당신에게로는 :
-
단지 사용자 등록 및 와 을 다루는
를 사용하여 멤버 자격 공급자 입증. 그리고 (".. 플레이어, normalUsers")
그런 다음 자신의 역할에 사용자를 분리하는 역할을 사용하여 (..., 나머지 암호 사용자를 확인)는 사용자 보안 물건을 돌볼 수 있습니다.
그리고 NEVER 사용 정보 제공 당신이 원하는 대신 당신이 저장하여 추가 정보를 데이터베이스에있는 사용자 정의 테이블을 만들 수의하지 많은 트래픽 비용이 발생합니다.
그런 다음 언제든지 EF 나 ORM을 사용하여 정보를 얻을 수 있습니다.
- 역할에 의존하지 않는 컨트롤러 및 작업에서 승인 속성
[Authorize(Roles="Players")]
을 사용하는 것을 잊지 마십시오.
- 1. 여부
- 2. 여부
- 3. 여부
- 4. 맞춤 회 전자 팝업
- 5. 경고 여부
- 6. 스택 여부
- 7. 맞춤 글꼴이있는 UILabel이 틀립니다 * 맞춤 * 맞춤 글꼴
- 8. 맞춤 클래스 = 맞춤 + 할당, 맞춤 + 초기화
- 9. 스레드가 올바르게 결합되는지 여부
- 10. NSMenu 열기 여부 결정
- 11. 파일 업로드 여부 감지
- 12. android.provider.MediaStore.EXTRA_SIZE_LIMIT 속성이 유효한지 여부
- 13. ASP.NET 프로필 사용 여부
- 14. 사용자가 이미 로그인했는지 여부
- 15. _tmkdir 성공 여부 확인
- 16. Sharepoint 기능 표시 여부
- 17. iPhone 4 여부 확인
- 18. UIWebView로드 여부 확인
- 19. 보안 기능을 사용할지 여부
- 20. 언어 리디렉션 여부
- 21. Python - 예외 발생 여부
- 22. 메소드의 존재 여부 테스트
- 23. 열거 형을 캡슐화했는지 여부
- 24. 외부 링크 여부 확인
- 25. 예외가 예외인지 여부 순환
- 26. 체크 속성 존재 여부
- 27. 속성을 구현하는지 여부
- 28. InApp 구매 완료 여부
- 29. 도움말 캐싱이 비활성화되어 여부
- 30. 패키지가 존재하는지 여부 확인