2011-08-26 2 views
1

우리의 응용 프로그램에는 다양한 프로파일이 많이 있습니다. 각 프로필을 통해 사용자는 서비스의 특정 기능에 액세스하거나 특정 횟수 동안 특정 작업을 수행 할 수 있습니다.WCF 인증 서비스. 기존 패턴이 있습니까? 제안?

우리는 모든 논리를 중앙 집중화하기 위해 WCF Authorization Service를 만들려고 생각하고 있습니다. 따라서 "노예"응용 프로그램은이 "레퍼리"응용 프로그램이 수행 할 작업을 반영합니다.

이것이 좋은 생각이라고 생각하십니까? 이미 사용한 패턴이 맞습니까? 그물에 공부할 수있는 것이 있습니까?

의견을 보내 주셔서 감사합니다.

마르코

답변

1

당신은 윈도우 신원 재단 (WIF)를 통해 주장에 기반 인증을 살펴 할 수 있습니다. 이 모델에서 "슬레이브"서비스는 인증 토큰의 발급자 (STS)를 신뢰하는 신뢰 당사자 (RP)로 알려져 있습니다. 이 토큰에는 각 RP에으로 사용자 정의 할 수있는 클레임 ​​이 포함되어 있습니다. 그것은 개방형 표준을 기반으로하고 있으며, 자신 만의 롤링보다 훨씬 안전하고 미래의 증거가 될 것입니다.

이 모든 것은 IPrincipal과 IIdentity를 확장하는 비교적 쉬운 WIF API를 통해 서비스 될 것입니다. 어쩌면 좀 더 많은 일을 할 수 있지만 장기적으로 더 나은 솔루션을 제공 할 것인가?

More info here

편집 : 귀하의 서비스는 STS 신뢰합니다. 따라서 사용자가 STS에서 발급 한 클레임 세트를 사용하여 서비스를받을 때 유효한 것으로 간주합니다. 서비스에는 STS에서 정의한 클레임에 모두 포함되어 있기 때문에 역할을 조회하는 데 필요한 로직을 포함 할 필요가 없습니다. 서비스 개발자는 사용자가 자신의 주장에 따라 할 수있는 일과 할 수없는 일을 결정합니다. 다음 개발자 whitepaper이 도움이 될 수 있습니다 (PDF).

+0

흥미로운 것 같습니다. 기본적으로 WIF를 통해 내 STS는 해당 사용자에 대해 허용 된 모든 작업을 포함하는 인증 토큰을 발급합니다. – Marconline

+0

예. 소유권 주장에는 (이유가있을 경우) 원하는대로 포함될 수 있으며 항상 권한 부여를 유지하는 것이 가장 좋습니다. 기존 인프라 스트럭처에서이를 지원할 수 있다면 AD를 기반으로 ADFS를 사용하여 STS를 선택해야합니다. 아야! 두문자 오버로드. –

+0

패턴을 이해할 수 없습니다. WIF를 통해 RP가 STS에게 "이해할 필요가 있습니다"라는 특정 방법으로 "이것을 할 수 있습니까?"라고 물어볼 수 있으며 STS는 RP에게 해당 조치를 수행 할 수있는 티켓을 제공 할 수 있다고 말하고 있습니까? – Marconline