2

특정 데이터에 대한 액세스로 비즈니스 계층을 강화할 수 있어야합니다. UI는 비즈니스 계층을 호출하고 userdetail을 수신 할 수 있습니다. UI는 사용자에 대해 .Save()를 호출 할 수 있으며 비즈니스 계층은 데이터 액세스 계층을 호출하여 사용자를 저장합니다.n 계층 구조의 인증 및 권한 부여

하지만 여기서 문제는 모든 사용자가 userdetail을 받고 "admin"역할을 가진 저장 전용 인증 사용자를 호출 할 수 없도록하려는 것입니다. 비즈니스 계층/UI에서이 인증/권한 부여에 대해 어떻게 생각합니까?이를 수행 할 수 있습니까?

내 UI에 ASP.NET을 사용하고 있으며 멤버 자격/역할 공급자를 읽었지만 실제 UI에 대한 것 같습니다. 미래에는 몇 가지 UI가있을 수 있으므로 비즈니스 계층에서 보안을 설정해야합니다. 예 : Windows 양식 및 Asp.net.

생각과 제안을 부탁드립니다.

감사합니다.

+0

계층간에 어떻게 의사 소통을합니까? WCF, .net remoting, 웹 서비스? –

+0

클래스 라이브러리 참고 자료, 나중에는 변경 될 수 있습니다. – Mike

답변

0

ASP.NET 역할/멤버 자격 공급자에는 다시 사용할 수있는 저장소 및 코드 수준 구성 요소가 포함되어 있습니다. 이러한 구성 요소는 UI가 아닙니다.

세분화 된 액세스 제어 (예 : 페이지의 특정 기능)의 경우 엔터프라이즈 라이브러리를 사용할 수 있습니다. BL 레이어와 UI 레이어에서 코드를 재사용하여 기능을 보호 할 수 있습니다.

당신이 가장 원하는 링크이 하나입니다 또한 Determining Whether a User Is Authorized to Perform a Task

참조 :

을 EntLibs의 이전 릴리스 동안, 승인 Manager가 핵심 구성 요소 였지만 최신 버전에서는 확고한 요구 사항이 아니며 대신 AuthorizationRuleProvider을 사용할 수 있습니다. 참조 : Developing Applications Using Windows Authorization Manager

데이터 필터링은 데이터의 복잡성, 데이터의 양 및 성능 요구 사항에 따라 조금 더 문제가 있습니다.

  • 하나의 전략은 모든 것을 반환하는 간단한 DAL을 사용하고 현재 사용자가 BL에서 볼 수없는 데이터를 잘라내는 것입니다.
  • 응용 프로그램에서 사용하는 역할에 대한 몇 가지 지식이있는 DAL을 디자인하십시오. DAL.GetCustomersForAdmin()DAL.GetCustomersForMember() 그러나 이러한 역할을 사용하는 데는 다소 위험합니다.
  • 보안 인식 데이터베이스/DAL을 가지고, 항상 같은 방법을 통해, 사용자 만보고 허용 된 데이터를 반환으로 개발하는 경우 (조회 할 수 있습니다 DAL.GetCustomers()
+0

이것이 내가 원하는 것이라고 생각합니다. 복잡한 모양으로 보입니다. – Mike

+0

많은 것들이 바깥에서 복잡해 보이지만 일단 들어가면 그렇게 나쁘지는 않습니다. 일단 속도를 높이면 어느 곳에서나 재사용 할 수 있습니다. 처음에는 속도가 느릴 수 있지만 하위 사용은 훨씬 빠릅니다. –

+0

많은 데이터를 사용하면 첫 번째 전략은 이론상 두 번째 전략이 내가 선호하지 않을 것이라고 말하는 것처럼 DB 전송에 훨씬 더 많은 시간이 소요됩니다. 그러나 어떻게하면 세 번째 전략을 구현합니까? 모든 사용자가 설정된 DB? BL은 사용자 액세스를 인식하고 DAL을 사용하여 사용자가 액세스 할 수있는 데이터 만 가져 오는 네 번째 전략은 무엇입니까? 1 차 전략과 2 차 전략 사이의 변형? – jonas

1

또 다른 방법. NET 3.5/4.0)은 Windows Identity Foundation을 사용하고 있습니다.

웹 사이트 외부에서 승인 논리를 유지하는 데 관심이있는 경우 (둘 이상의 프런트 엔드에서 비즈니스 계층을 사용할 것으로 예상하는 경우), 나는 확실히 WIF를 살펴볼 것을 권장합니다. ADFS v2.0 (Windows Server 2008 R2의 서버 역할)을 사용하여 Active Directory와 통합 할 수도 있습니다.

패턴 & 연습에서는 guide을 발표했습니다. 이는 대상을 파헤 치는데 유용 할 수 있습니다.

관련 문제