2017-10-24 1 views
0

역할이 클레임의 하위 집합 인 조언을 읽으면 ASP.NET ID에서 EF 핵심 구현을 묻는 명확한 방법을 찾고 있습니다 VS 2017의 ASP.NET ID Core 2.0 템플릿에서 역할 관련 테이블을 만들지 마십시오. 소유권 주장 만 필요합니다. 템플릿은ASP.NET Identity Core 2.0에서 역할 관련 테이블을 제거하는 방법

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) 
     : base(options) 
    { 
    } 

    protected override void OnModelCreating(ModelBuilder builder) 
    { 
     base.OnModelCreating(builder); 
     // Customize the ASP.NET Identity model and override the defaults if needed. 
     // For example, you can rename the ASP.NET Identity table names and more. 
     // Add your customizations after calling base.OnModelCreating(builder); 
    } 
} 

를 사용하고 IdentityDbContext는 이러한 역할과 관련된 테이블 마이그레이션 파일을 조작하지 않고 그들을 제거하는 방법

https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNetCore.Identity.EntityFrameworkCore/IdentityDbContext.cs

을 만들어?

답변

1

당신은 할 수 없습니다. 그렇다면 아이덴티티가 작동하지 않을 가능성이 높습니다. 마찬가지로 Identity는 역할을 사용합니다. 그럼에도 불구하고이 기능을 사용하지 않도록 선택할 수 있습니다.

즉, 모든 의미에서 모든 인증 아티팩트는 "소유권 주장"이라고합니다. 그러나 클레임은 추상 개념이지만 역할과 같은 것은 구체적인 구현이 있습니다. 인증 필터가 필요한 경우 역할을 사용해야합니다. 클레임을 사용할 수도 있지만 어쨌든 역할 개념을 다시 구현하면됩니다. 바퀴를 재발 명하지 마십시오.

+0

클레임이 추상적 개념 인 이유에 대해 더 많이 논할 수 있습니까? 아직도 구체적인 것으로 볼 수있는 클레임으로 필터링 할 수 있습니다. (?) https://docs.microsoft.com/en-us/aspnet/core/security/authorization/claims – Octopus

+0

암시 적 기능이 없으므로 추상입니다. 그것들은 단지 데이터 일뿐입니다. 해당 데이터를 중심으로 기능을 만들어야합니다. 예를 들어 사용자가 관리자임을 나타내는 클레임을 추가 할 수 있지만 그런 다음 클레임을 철회하고 값을 확인하고 사용자의 상태를 결정할 논리가 필요합니다. 역할은 구운이 기능을 가진 단순한 클레임입니다. –

+0

클레임과 역할의 차이점을 자세히 설명하는 관련 문서가 있습니까? 그것은 제공된 링크가 부족한 것 같습니다. 감사합니다 – Octopus

관련 문제