2017-11-29 5 views
0

사용자 권한 수준에 따라 특정 API 모델 속성을 필터링/숨기거나 지울 수 있습니다. 모델 자체는 다를 수 없습니다. 그것들에 대한 반품 만.ASP.NET 코어의 사용자 권한 수준을 기준으로 API API 속성을 필터링하십시오.

나는 온라인으로 다른 생각을 많이 발견 로직 응답 특성을 취소

  • 반사에

    • 스위치 (userrole)와 전화를 다른 논리 방법
    • 패스 사용자 역할 (I이 싫어 아이디어)
    • 미들웨어는

    가 권장되는 방법은 무엇입니까 다른 작업에 사용자를 리디렉션합니다 특정 역할에 대한 API API 속성을 필터링합니까?

  • +0

    (각 사용자 역할에 대해) 필요한 속성이있는 뷰 모델을 생성하고이를 반환하십시오. – Shyju

    답변

    0

    당신이 제공 한 것에 대해 구체적인 세부 사항을 제시하는 것은 어렵지만 일반적으로 매핑 논리에 들어가야한다고 말하고 싶습니다. 뷰 모델/DTO를 활용하여 클라이언트 요청의 데이터를 수락합니다. 그런 다음 해당 데이터를 뷰 모델/DTO에서 엔티티 인스턴스로 매핑하십시오. 이 과정에서 어떤 속성을 매핑해야하는지 또는 매핑하지 말아야하는지에 대한 사용자의 역할/권한 집합을 기반으로 결정할 수 있습니다. 이 모든 논리는 별도의 클래스 또는 클래스 라이브러리로 분해 할 수 있습니다. 궁극적으로 클라이언트 을 보내는 데 실제로 문제가되지 않습니다. 당신은 어쨌든 그것을 제어 할 수 없습니다. 궁극적으로 "액세스 권한"이없는 속성을 설정할 수 없도록해야하며 매핑 논리는이를위한 최적의 장소입니다.