2012-05-11 1 views
0

SaaS 웹 응용 프로그램의 인증/인증 모듈이 필요하며 WIF의 모양을 선호합니다. 문제는 Active Directory를 제외하고는 클레임을 제공하는 플러그 앤 플레이 방식이 아닌 것 같습니다. 내 생각은 IdentityServer을 사용하고 ASP.NET Membership Provider 리포지토리를 내 자신의 것으로 바꾸는 것입니다.AD를 사용하지 않고 STS 서버에 클레임을 제공하는 방법

트릭은

  • 다양한 고객과 직면하고있는 응용 프로그램 인터넷이다. (따라서 ADFS2는 해당되지 않습니다.)
  • 역할이 아닌 권한 수준의 권한이 필요합니다. (그래서 ASP.NET Membership은 적합하지 않습니다.)
  • 내 앱 내의 사용자가 자신의 하위 집합을 관리하기를 원합니다.

빌드하려는 비트는 아래의 '클레임 서버'라는 분홍색 색 상자입니다.

IClaimsService은 새 사용자 만들기, 역할 만들기, 역할에 사용 권한 할당 및 사용자를 해당 역할에 할당하는 것을 허용합니다. 내 자신의 응용 프로그램은 IClaimsService에 연결하는 admin 화면을 인증하고 하위 사용자 등을 만들 수있는 권한을 사용자에게 부여합니다.

내 질문은 - 유효한 아키텍처입니까, 아니면 완전히 WIF의 요점을 놓치고 있습니까?

또는 찾지 못했던 대체 플러그 앤 플레이 옵션이 있습니까? 나는 바퀴를 재발견하지 않아 기쁘다!

IdentityServer architecture

추가 정보

내 웹 응용 프로그램 내 고객이 데이터를 자신의 벽으로 둘러싸인 정원 내에서 자신의 사용자를 생성 할 수 있도록 할 필요가있는 SaaS는 것입니다.

예를 들어 시스템에 자체 클라이언트를 보유하고있는 경쟁자 팀을 보유한 채용 소프트웨어 플랫폼을 생각해보십시오. 한 팀은 다른 팀 데이터를 사용하지 못하지만 각 팀은 자신의 하위 사용자를 관리하고 관리 할 수 ​​있습니다. 플랫폼을 사용하는 여러 회사가있을 수 있으므로 중앙 IT 부서/도메인이이를 관리하지는 않습니다. 그것은 모두 셀프 서비스입니다.

나는 새로운 고객을 유치하고 인증을 위해 자신의 STS를 연결할 수 있기 때문에 Windows Identity Foundation이 더 긴 기간 혜택을 얻는 것처럼 보이지만 내가 바라는 부분에 가까운 netsqlazman을 보았습니다.

+1

좋은 아키텍처입니다. 이미 완전한 승인/승인 모델을 구현했기 때문에 https://github.com/hibernating-rhinos/rhino-security에서 살펴볼 수 있습니다. – Henrik

+0

Btw, 만약 당신이 이것을 추구한다면, 나는 메시징으로 멋지게 만드는 것에 관심이있을 것입니다. – Henrik

+0

ah - Rhino Security는 보입니다.하지만 이미이 시스템을 구축하기 시작했습니다. 나의 무지를 용서하십시오 - '메시지와 함께 잘 놀고'무엇입니까? 나는 GitHub에 그것을 던지는 것에 놀고있다. 그러나 나는 개념을 먼저 다듬을 필요가있다. – fiat

답변

1

나는 WIF가 올바른 길을 오랫동안 설정해 줄 것이라고 생각합니다. 클레임 기반 정체성은 여기 머무르고 모든 것이 수렴하는 곳입니다. WIF는 이전보다 훨씬 쉽게 구현할 수 있습니다.

내 생각에 가장 간단한 것으로 시작하는 것이 좋습니다. 즉, 먼저 클레임을 사용하여 사용자를 인증하는 것입니다. 그런 다음 사용자 핸들 (예 : 이메일 또는 user_id 등)을 앱에 구축 한 권한 부여 아키텍처에 연결합니다. 멤버십, 맞춤 데이터베이스 등일 수 있습니다.

귀하가 설명하는 프로비저닝 및 자체 관리는 모두 앱에 고유하며 ID 서비스 공급자 (예 : IdentityServer 또는 WIF : SAML 토큰, WS- 연합 등과 호환되는 기타 모든 것)와는 아무런 관련이 없습니다.

이 간단한 단계는 시간이 지남에 따라보다 정교한 솔루션을 토대로 준비 할 것이며, 사용자는 약간의 노력으로 즉각적인 가치를 제공 할 수 있습니다. 예를 들어, 사회적 신원을 가진 사용자가 귀하의 사이트에 로그온하도록 허용 할 수 있습니다. 당신은 여전히 ​​"[email protected]"-> "사용자를 관리 할 수 ​​있습니다"라고 정의 할 것입니다.

시간이 지남에 따라 더 많은 외부화 할 수있는 일반적인 반복적 속성 (예 : 역할)을 발견하게됩니다. 그러면 당신이 제안하는 것과 같은 것이 의미가 있습니다.

설명 : ADFS 은 AD에 대해서만을 인증하지만 어느 곳에서나 데이터베이스, LDAP, 사용자 지정 등의 특성을 검색 할 수 있습니다.

+0

감사합니다. Eugenio - 나는 올바른 길을 알고 있습니다. 나는 현재 인증 비트를 구축 중이며 WIF가 어떻게 잘 연결되는지 볼 수 있습니다. – fiat

관련 문제