Entity Framework를 사용한 역할 기반 보안(1부) | 친애하는 코더
사용자가 계정을 등록할 수 있도록 하는 애플리케이션에서 작업하는 경우 역할 기반 보안 문제에 직면했을 수 있습니다.
역할 기반 보안이란 무엇이며 왜 필요한가요?
사용자가 웹툰을 서로 공유할 수 있는 애플리케이션을 개발 중이라고 가정해 보겠습니다. 사용자가 데이터베이스에 사진을 안전하게 업로드할 수 있는 기능을 이미 구축했으며 사용자가 계정을 등록하고 로그인할 수 있는 기능을 구현했습니다.
그러나 이제 계정 등록 여부와 관계없이 모든 사용자가 액세스할 수 있는 기능, 등록된 사용자가 액세스할 수 있는 기능, 권한이 있는 사용자가 사용할 수 있는 기능이 무엇인지 질문해야 합니다.
여기서 역할 기반 보안이 필요합니다.
예시를 위해 사용자를 4가지 액세스 계층으로 분류하겠습니다.
익명 사용자 권한 부여
기본적으로 내 응용 프로그램에서는 모든 사용자가 내 응용 프로그램의 모든 페이지를 보고, 상호 작용하고, 사용할 수 있습니다.
그러나 익명 사용자가 볼 수 있는 페이지는 무엇입니까?
일반적으로 랜딩 페이지와 공개적으로 사용 가능한 데이터 표시는 익명의 최종 사용자가 볼 수 있습니다.
일부 개발자는 많은 양의 민감한 데이터가 포함된 애플리케이션을 유지 관리할 수 있지만 이는 애플리케이션의 기본 인증을 리팩터링하는 것이 적절할 수 있음을 의미합니다.
[Authorize]
및 [AllowAnonymous]
속성 간의 상호 작용을 통해 이를 수행할 수 있습니다.그러나 나중에 익명 사용자에 대해 자세히 설명합니다.
등록 된 사용자들
백업하고
[Authorize]
속성에 대해 이야기해 봅시다.내 애플리케이션이 업로드를 처리하도록 하려면 일부 뷰에 대한 익명 사용자 액세스를 거부하는 것이 가장 좋습니다. "Authorize"라는 간단한 키워드로 이 작업을 수행할 수 있습니다.
사용자에게 보기를 보기 위해 등록하고 로그인하라는 메시지를 표시하려면 권한을 부여하려는 보기에 대한 http 요청 가져오기 및 게시를 처리하는 컨트롤러에 액세스해야 합니다.
설명을 위해 내 ToonSpace 웹툰 애플리케이션을 살펴보고 업로드 컨트롤러에 액세스해 보겠습니다.
익명의 사용자가 내 웹 사이트에 업로드할 수 없도록 하여 작업 위에
[Authorize]
를 추가하여 "가져오기"작업 아래에서 약간 변경해야 합니다.이렇게 하면 계정을 등록하고 로그인한 사용자만 "만들기"보기에 액세스하여 데이터베이스에 새로운 항목을 업로드할 수 있습니다.
중재자 및 관리자
내 중재자와 관리자 권한에 대한 코드가 본질적으로 동일하기 때문에 중재자와 관리자를 함께 그룹화했습니다. 유일한 차이점은 임의적입니다. 두 역할 모두에 일부 권한을 부여하고 다른 권한은 관리자에게만 부여합니다.
그렇다면 이러한 역할에 특별한 권한을 부여하려면 어떻게 해야 할까요?
몇 줄의 간단한 텍스트:
중재자에게도 권한을 부여하려면 간단히 쉼표를 추가합니다.
[Authorize(Roles = "Administrator, Moderator"]
역할 기반 보안을 위한 구조를 만들었습니다. 모든 사용자는 계정을 만들고 로그인할 수 있으며 익명 사용자는 아무 것도 게시할 수 없습니다. 하지만 익명 사용자가 무언가(예: 댓글)를 게시할 수 있도록 기본값을 설정하려면 어떻게 해야 합니까? 간단히
[AllowAnonymous]
속성을 사용할 수 있습니다.그리고 이러한 관리자 및 중재자 역할은 어떻습니까? 이러한 역할에 속한 사용자를 어떻게 구별합니까? 누구나 관리자 또는 중재자로 등록할 수 있어야 합니까?
친애하는 Coder, 사용자가 관리자로 등록하도록 허용하는 것이 좋은 생각이 아닐 수도 있다는 것을 이미 알고 계실 것입니다. 그러나 내가 대신 할 수 있는 것은 지정된 사용자를 관리자 또는 중재자로 "시드"하는 것입니다.
그러나 그것은 내 다음 편지의 주제가 될 것입니다.
더 많은 편지를 읽으려면 dear-coder.com 에서 찾을 수 있습니다.
다음 시간까지 키 입력 속도를 높이십시오.
딸깍딸깍 소리,
케이시
Reference
이 문제에 관하여(Entity Framework를 사용한 역할 기반 보안(1부) | 친애하는 코더), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/piaomu/role-based-security-using-entity-framework-part-1-dear-coder-4d6h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)