2011-10-10 2 views
3

나는 페이스 북을 사용하여 사용자가 사이트에 로그인 할 수있게했습니다. 로그인을 관리하는 페이지는 사용자에게 facebook id를 부여한 다음 일치하는 ID가있는 기존 사용자의 ASP.NET 멤버십 테이블을 조사합니다.ASP.NET 회원/기존 사용자 자동 로그온

일치 없음 : 새 사용자가 생성되고 로그인됩니다 (문제 없음).

일치하는 항목 : 사용자를 기록하고 싶습니다. 문제는 해시 된 암호가 있고 사용자를 로그온하는 데 MembershipService.ValidateUser(logOn.UserName, logOn.Password)을 사용할 수 없다는 것입니다. 난 그냥 FormsAuthentication.SetAuthCookie를 사용하는 경우 로그인으로

, 사용자는 표시되지 않습니다.

을 나는 웹 설정에서 true로 enablePasswordRetrieval를 설정 한 다음 바로 실제 암호를 얻을,하지만 난 싶지 않아 할 수있다. 나는 이것이 안전하기를 바란다.

누구든지 사용자 이름을 사용하여 ASP.NET 멤버쉽에 사용자를 기록하는 방법을 알고 있습니까? 대체 방법에 대한 MembershipProvider 클래스를 살펴 봤지만 어떤 것도 찾을 수 없습니다.

감사합니다, 쿠키를 (난 당신이 수동으로 쿠키를 설정해야 할 수도 있지만, 생각) 다음에 지정된 페이지로 리디렉션 설정

올리버

답변

2

당신은 시도 할 수 FormsAuthentication.RedirectFromLoginPage (http://msdn.microsoft.com/en-us/library/ka5ffkce.aspx) redirect from (auth 설정의 구성 파일에 지정). 기본적으로 쿠키를 설정 한 후에는 응용 프로그램이 인증을 활성화 한 것처럼 보이지 않으므로 쿠키를 설정 한 후에 리디렉션이나 포스트 백을 수행해야합니다.

HTH.

+0

을 만드는 방법에 MSDN 문서를 참조하십시오! FormsAuthentication.SetAuthCookie를 사용하면 작동합니다. :/ 감사!! – Oliver

관련 문제