Visual Studio 2017을 사용하고 있으며 일부 사용자가 여러 역할을 가지고있는 asp.NET 핵심 MVC 프로젝트가 있습니다. 나는이 역할들 중 하나를 남은 사용자 세션의 유일한 역할로 설정하는 방법이 있는지 궁금합니다. 사용자가 두 개의 역할, NormalUser 및 관리 사용자에 속하고 그들이 NormalUser로 응용 프로그램을 사용하려면사용자가 여러 역할을 수행하는 경우 asp.NET Core MVC에서 나머지 세션에 대해 하나의 역할을 선택하는 방법이 있습니까?
예를 들어, 뭔가 내가 User.IsInRole(nameof(RoleNames.AdminUser))
같은 역할 검사가 false가 반환되도록 설정할 수 있지만 User.IsInRole(nameof(RoleNames.NormalUser))
의지 할 수있다 사실을 돌려 주시겠습니까?
프레임 워크에서 이러한 기능을 제공합니까?
역할은 Windows 그룹과 같습니다. Windows에서 "세션 그룹"을 선택할 수 없듯이 MVC에서 "활성 역할"을 선택할 수 없습니다. 역할은 권한을 적용하는 방법 일뿐입니다. 당신이하고자하는 것은 대개 여러 계정을 통해 수행됩니다. –
ID에는 내장 된 것과 같은 것이 없지만 확실히 추가 할 수 있습니다. 세션 기반으로하고 싶다면 토큰에 필드를 추가하고 역 직렬화하거나 db를 변경하고 거기에 저장해야합니다. 'UserSessionRole' 같은 것을 만들고 User 모델에 추가하십시오. – nurdyguy