나는 스왑 가능한 구체적인 구현에 의해 뒷받침되는 .NET 인터페이스 집합으로 드러나는 비즈니스 로직 계층 ("저장소")을 가지고있다.비즈니스 로직 계층이 인증 및 인증을 구현해야합니까?
원래이 비즈니스 계층에서 인증 및 권한 부여 (authn/authz)를 구현 했으므로 IUserIdentity 및 IUserRole과 같은 인터페이스가 있었으며 중요한 데이터에 액세스 한 모든 메서드가 IUserIdentity를 가져와 작업을 허용하기 전에 권한 부여를 수행했습니다.
비즈니스 계층은 지금까지 매우 프런트 엔드에 대해 불가지론 적 이었지만 ... 지금은 ASP.NET 웹 사이트에 통합하려고 할 때 ASP.NET 자체에 풍부한 인증/권한 부여가 있음을 알았습니다. 시스템에 회원 및 역할 API를 통해 구축되었습니다.
그래서 비즈니스 로직 레이어에서 authn/authz를 모두 제거하고 웹 프런트 엔드를 사용하여이 작업을 수행해야합니까? 이것은 많은 일을 단순화 할 것이지만, 나는 그것을 후회할 지 여부를 알지 못한다.
대안은 내 비즈니스 논리에서 authn/authz를 유지하면서 사용자 지정 멤버쉽/역할 공급자를 통해 ASP.NET과 통합하는 것입니다. 그러나 이것은 정말로 성가신 것 같습니다 ... 나는 아직도 이것을하는 비용을 조사 할 필요가 있습니다.
무엇을 하시겠습니까?
사실 (미안하지만이 부분을 언급해야합니다.) 권한 부여 특성을 통해 보안 측면에서 개념을 구현하는 ASP.NET MVC를 사용하고 있습니다. – DSO
.NET의 애트리뷰트는 Java EE의 애노테이션과 비슷하다. 다양한 메소드, 클래스, 패키지에 애스펙트를 적용하기위한 AspectJ 표현 언어 같은 것이 있는가? – duffymo