ASP.NET Core MVC 6 앱 보안 - 역할 추가 - 3부
3759 단어 programmingsecuritydotnetwebdev
이 게시물에서는 사용자에게 역할을 추가하고 보기에 대한 액세스를 거부하거나 허용합니다.
역할 만들기 및 할당
먼저 Auth0 대시보드에서 새 역할을 생성해야 합니다.
"사용자 관리"-> "역할"로 이동합니다.
페이지 상단에 있는 "역할 만들기"버튼을 클릭합니다.
역할 이름과 설명을 입력합니다.
이 예에서는 "관리자"라는 이름을 사용하고 있습니다.
사용자 목록(사용자 관리 메뉴)에서 사용자를 클릭하고 "역할"탭을 클릭합니다.
그런 다음 "역할 할당"버튼을 클릭합니다.
사용자에게 할당할 역할을 선택합니다.
우리의 경우 "관리자"입니다.
Auth0에 규칙 추가
이제 인증 토큰에 역할을 추가해야 합니다.
그러기 위해서는 "인증 파이프라인"-> "규칙"메뉴에서 새 규칙을 만들어야 합니다.
빈 규칙을 만들고 아래 코드를 붙여넣습니다.
function (user, context, callback) {
const assignedRoles = (context.authorization || {}).roles;
const idTokenClaims = context.idToken || {};
idTokenClaims['http://schemas.microsoft.com/ws/2008/06/identity/claims/role'] = assignedRoles;
context.idToken = idTokenClaims;
callback(null, user, context);
}
이제 프로젝트의 코드로 돌아갈 준비가 되었습니다.
ASP.NET MVC 6 프로젝트에 역할 추가
다른 두 게시물의 이전 단계를 따랐다면 기존 코드를 변경할 필요는 없지만 컨트롤러에 역할 관리를 추가해야 합니다.
예를 들어 사용자가 관리자가 아닌 경우 "개인 정보"페이지에 대한 액세스를 거부하려고 합니다.
"HomeController.cs"파일을 열고 Privacy 작업의 코드를 아래 코드로 바꿉니다.
[Authorize(Roles = "Administrator")]
public IActionResult Privacy()
{
return View();
}
이 예에서는 최소한 "관리자"역할을 가진 사용자만 이 페이지에 액세스할 수 있습니다.
결론
이 짧은 시리즈에서는 Auth0을 사용하여 기본 인증 흐름을 구현하는 방법을 배웠습니다.
보시다시피 매우 쉽지만 동시에 Auth0은 보안 및 생산성 측면에서 다음 프로젝트를 위한 완벽한 구현을 제공합니다.
Auth0을 시도하고 싶다면 이link를 따라 자신의 계정을 만들고 다음 프로젝트에서 사용할 수 있습니다!
Reference
이 문제에 관하여(ASP.NET Core MVC 6 앱 보안 - 역할 추가 - 3부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kasuken/securing-aspnet-core-mvc-6-app-add-roles-part-3-j29텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)