2010-04-05 2 views
3

asp.net에 내 자신의 사용자 정의 MembershipProvider을 실험하고 있으며 내 로그인 페이지를 굴리고 싶습니다. 우리는 로그인 시간에 꽤 특별한 것들을합니다. 그래서 우리는 기본 로그인 컨트롤을 사용할 수 없기 때문에 수동으로 사용자를 로그인 할 방법이 필요합니다.MembershipProvider를 사용하여 수동으로 사용자를 로그인하는 방법은 무엇입니까?

지금까지 로그인을 작성하는 방법에 관해서 아무것도 발견하지 못했습니다 내가 여기에 있는데, 수동으로 사용자를 로그인 할 수있는 방법을 알고 싶습니다. MembershipProvider. 내가

Membership.ValidateUser("user", "pass"); 

을 시도하고는 않지만 실제로 나를 기록하지 않습니다, 내 사용자 지정 MembershipProviderValidateUser()를 호출하고 true를 돌려 않는 한

.

Btw은 내가 꽤 있어요 전체 MembershipProvider 물건에 새로운 그래서 만약 내가 올바른 파장도 아니에요, 내게 알려 주시기 바랍니다.

답변

7

MembershipProvider는 사용자에 대한 데이터 만 저장하므로 실제 로그인과 세션 처리는 AuthenticationProvider에서 처리합니다. 예를 들어 양식 (= 쿠키 기반) 인증을 사용하는 경우 FormsAuthentication.SetAuthCookie과 그 클래스의 다른 관련 메소드를 확인하십시오.

당신이 모든 것을 할 것입니다 무료 버전이 있습니다 : 당신은 리플렉터와 어셈블리의 내부를 보면

나중에 참조 할 수 있도록
+0

나를위한 분리를 설명해 주셔서 감사합니다! 이것은 내가 실제로 필요로하는 것입니다. –

+0

예, AuthenticationProvider가 내 레이더조차도 아니 었습니다. 이것은 많은 도움이 될 것입니다. –

+0

내장 폼 인증 공급자는 맞춤 멤버십 공급자에게 아주 잘 작동하며, 특별한, 그것은 "그냥 작동"해야합니다. –

9
if (Membership.ValidateUser(Username.Text, Password.Text)) 
{ 

    FormsAuthentication.SetAuthCookie(Username.Text, false); 
    FormsAuthentication.RedirectFromLoginPage(Username.Text, false); 
} 
else 
{ 
// do something else 
} 

위의 내용은 로그인 할 때 추가 작업을해야하는 상황에서 사용자 지정 멤버 자격 공급자와 작업 코드에서 복사 한 것입니다. (민감한 작업은 무고한 사람을 보호하기 위해 변형되었습니다.)

1

, 당신은 어떤 구성 요소의 내부 코드를 확인하실 수 있습니다 필요한 것.

또한 로그인이 매우 확장 가능하기 때문에 사용자가 직접 로그인 컨트롤을 만들지 않아도됩니다. 템플릿을 편집하고 다양한 이벤트를 처리하여 원하는 작업을 수행 할 수 있습니다.

관련 문제