2011-03-10 4 views
0

나는 asp.net 멤버십 SQL 공급자에서 페이스 북을 사용하여 OAuth 싱글 사인온을 사용하여 내 사이트로 전환하려고합니다. Authorize (Roles = "...") 특성을 사용하여 컨트롤러 클래스 또는 컨트롤러 메서드에 플래그를 지정하여 내 사이트의 보안 섹션을 매우 쉽게 보호하므로 역할 공급자를 계속 사용하고 싶습니다. 사이트가 아직 살아 있지 않기 때문에 가능한 경우 Asp.net 멤버십 공급자를 완전히 버려야합니다. (역할 및 프로필 제공 업체 유지)asp.net RoleProvider를 사용하여 facebook 인증 사용자를 역할에 매핑하는 방법은 무엇입니까?

페이스 북에 로그인하여 사용자 로그인을하면 정보를 얻을 수 있습니다. 그러나 나는 그것을 어떻게 역할과 연관시킬 수 있습니까?

내 앱을 인증하고 권한을 부여한 후 시스템이 자동으로 "SuperHero"역할에 새 사용자를 추가하려고합니다.

여기 궤도에 있습니까? OAuth2를 사용할 때 역할을 처리하는 더 좋은 방법이 있습니까? 나중에 다른 OAuth 공급자를 추가하고 싶습니다.

대체 방법은 asp 멤버십을 유지하는 것입니다. 그런 다음 사용자가 facebook connect를 통해 로그인하면 그의 레코드를 찾아서 aspmembership으로 로그인 할 수 있습니다. 하지만 그건 어색해 보입니다.

일부 샘플 코드는 훌륭하고 다른 사람들도 도움이 될 것이라고 생각합니다.

들으, 댄

답변

1

이 IME 작업을 수행하는 가장 쉬운 방법은 실제로 자신을위한 FacebookMembershipProvider을 구현하는 것입니다. 그런 식으로 자연스럽게 모든 다른 공급자에게 연결됩니다. 주요 단점은 a) 많은 코드 b/c 멤버십은 뚱뚱한 인터페이스이고, b) 일부 분량의 b/c는 OAuth에 대해 분명히 필요하지 않은 암호 등을 수행한다고 가정합니다.

관련 문제