2013-04-23 2 views
0

데이터베이스에 저장하는 사용자 지정 dropdown ("BranchID") 메뉴를 포함하도록 ASP에서 제공하는 로그인/등록을 편집해야 각 사용자마다 고유 한 지점이 있습니다. ASP Membership 시스템을 사용하고 있으며, 생성 한 ASPNETMDF 데이터베이스에 저장합니다. 인터넷 검색 결과가 있지만 나 혼란 스럽네요. "사용자 프로필"이 있다는 것을 압니다.이 프로필 데이터를 저장할 수는 있지만 임시 조치인지 또는 데이터베이스에 기록하는지는 확실하지 않습니다.ASP.Net 로그인/등록의 사용자 정의 필드?

내 맞춤 멤버십 시스템을 만들 수도 있고, 내장 된 시스템을 사용하여 적응하거나 사용자 프로필을 사용할 수도 있습니다. 최선의 행동 방침은 무엇입니까? 나는 내장 된 멤버쉽 시스템을 적용/편집하고 그것을 필요로하는 데이터를 추가하는 것을 선호하지만, 내가해야 할 일이나 최선의 일에 대한 명확한 대답을 아직 가지고 있지 않다.

답변

1

당신은 두 가지 선택이 있습니다

  1. CustomMembershipProvider 만들기를, 그리고 당신은 CustomRoleProvider해야하는 경우 .NET의 MembershipProvider을 구현하여이 작업을 수행 할 수 있습니다. 샘플 : http://www.codeproject.com/Articles/165159/Custom-Membership-Providers

  2. 추가 사용자 정보를 저장하는 별도의 테이블, 즉, "BranchID"를 만들고

그것은 당신까지 정말 테이블 및 .NET의 회원 사이에 one-to-one 관계를 추가하는 일 당신이 선택합니다.

+0

감사합니다. 그들에게 지금 읽음 :) –

0

MembershipProvider는 꽤 쉽게 확장 할 수 있습니다. 지점이 인증을 위해 선택해야하는 항목이라고 가정합니다. 다음과 같이 인증을 확장 할 수 있어야합니다.

public class MyCustomMembershipProvider : MembershipProvider 
{ 
/* 
.... 
*/ 
    public bool ValidateUser(string username, string password, string branch) 
    { 
     return (::ValidateUser(username, password) && MyCustomRoutine(username, branch)); 
    } 

} 
+0

이 변경 사항이 데이터베이스에 기록됩니까? 일명 ... 영구적으로? 사용자가 속한 지점을 식별해야 해당 지점에 특정한 특정 정보 만 표시 할 수 있습니다. –

+0

실제로이 지점을 역할로 취급하고 그 역할을 사용하여 작업 필터를 구동하는 것처럼이 주석을 기반으로합니다. 액션 필터도 살펴볼 수 있습니다. – SOfanatic

+0

나는 이미 역할을 들여다 보았고 실제로 그들과 조금씩 놀았다. 액션 필터를 살펴 봅니다! –