2010-08-02 7 views
2

클래식 기본 기반 권한 부여와 IdentityModel 권한 부여 중 어느 것을 사용할지 평가하려고합니다. 요즘 마이크로 소프트가 후자를 추천하고있는 것처럼 보이지만 성숙이나 지원에 대해서는 충분히 보지 못했습니다. 특히 PrincipalPermissionAttribute을 설정하고 프레임 워크가 자동으로 권한이없는 클래스 인스턴스화 및 메서드 호출을 방지하도록합니다.Windows Identity Foundation의 통합 된 클레임 기반 권한

나는 이미 ServiceAuthorizationManager을 사용하고 있으며 거기에서 평가를 수행 할 수 있습니다 ... 그러나 WCF가 아닌 시나리오는 어떻습니까? 그리고 특정 클래스의 인스턴스화를 방지하고 메서드 호출을 방지하는 방법은 무엇입니까 내에서 실행하기 전에가 아닌 WCF 작업을 수행 하시겠습니까?

나는 이미 IoC 메커니즘을 사용하고 있으며 클래스 나 메소드에서 가상의 RequiresClaimAttribute에 대한 클레임 기반 평가를 수행하는 인터셉터와 커스텀 활성화 기 (active activator)를 사용하고있다. 그러나 나는 그런 접근법을별로 좋아하지 않는다. 그것은 해상도 지원 및 건설을위한 IoC 컨테이너를 사용하는 인증 지원을 원하는 모든 개체가 필요합니다 ...

그래서 내 질문은 ... Microsoft의 Windows Identity Foundation (일명 IdentityModel 프레임 워크)이 실제로 사용할 정도로 성숙한가요? 포인트? IdentityModel으로 설명하고있는 것을 성취 할 수있는 방법이 있습니까?

답변

2

이 모든 것을 WIF로 할 수 있습니다. 무엇보다도 WIF는 을 통해 .NET 프레임 워크에 연결됩니다. IPrincipaliidentity 인터페이스를 통해 WIF를 연결할 수 있습니다. 이 두 가지에 대해 코딩 된 응용 프로그램은 대부분의 ASP.NET 및 WCF 서비스와 마찬가지로 "그냥 작동"합니다. 권한 부여의 아티팩트 역할은 WIF에 의해 자동으로 매핑되므로 IPrincipal.IsInRole을 호출하는 모든 프레임 워크가 작동해야합니다.

This example는 "RIA 서비스"과의 통합을 보여 주며보다 일반적인 대한 가능한 구현 (및 확장) "RequiresClaimAttribute"당신이 제안으로 설명합니다.

만기 질문에 관해서. 나는 그것을 어떻게 정의하는지에 달려 있다고 생각합니다. .NET Framework에 비교적 새로운 기능이 추가되었지만 출시되고 완벽하게 지원됩니다. WIF를 사용하는 여러 (제작) 응용 프로그램을 알고 있습니다. 일부는 규모가 더 크고, 일부는 더 작고, 일부는 민간 부문에 속하고 다른 일부는 정부 솔루션에 속합니다. 자신의 상황과 제약 조건에 대한 적용 가능성과 적합성을 평가해야합니다.

+0

감사하지만, RequiresRoleAttribute는 RIA의 일부이므로 직접 .NET Framework에서 PrincipalPermission이 지원되는 반면 .NET Framework의 다른 부분에서는 확장되거나 다시 사용할 수 없습니다. 나는 WIF가 Principal Authorization 모델에 직접 연결할 수 있다는 것을 알고 있습니다. (그리고 나는 PrincipalAuthorizationPolicy에 의해 WCF 서비스를 위해 이것을 이미 수행하고 있습니다.) 그러나 이것이 곧바로 Principal 기반의 인증과는 반대로 WIF의 유용성을 다루지는 못합니다. – Jeff

관련 문제