새로운 ASP.NET ID 시스템에 대한 사용자 지정 "저장소 공급자"를 만들 때이 게시물을 추적했으며 지금까지 매우 유익한 것으로 입증되었습니다. 내가 MySQL을 사용하고 있지 않다ASP.NET ID - [Authorize] 및 RoleManager에 대한 혼동
Creating a custom MySQL Identity Provider
, 나는 RavenDB를 사용하고 - 그래, 나는 이미이 가능한 RavenDB ID 제공 받게 요 - 그게 정말 내 문제가되지 않습니다. 내 문제는 IUserRoleStore<IdentityUser>
, 그 다음은 IdentityRole
및 RoleStore
입니다.
내가 그들을 만든 걸보고 - 나는 심지어는 사용자가 나중에 다음 역할에 등 그러나 있는지 확인하기 위해 데이터에 액세스하는 방법을 참조, 난 그냥이 볼 ..
[Authorize(Roles = "Admin")]
public AccountController : Controller {
/// ... etc .etc..
}
이 어디 I 철저히 분실하고있다. 새로운 ASP.NET ID 시스템에 대한 수십, 수십, 수십 개의 자습서를 살펴 보았고 어떤 점에서 뭔가가 AuthorizeAttribute
과 연결될 수 있는지 파악할 수 없습니다. 내가 만든 RoleStore
을 어떻게 사용하는지 알고 있습니까? 내가 만든 IdentityRole
을 사용하는 방법을 어떻게 알 수 있습니까? 그것에 대해 확인하는 것은 무엇입니까?
이러한 것들은 내가 어디에서나 찾을 수없는 모든 것들이며, 그것은 나에게 일종의 박쥐를 몰고 간다. 내가 찾은 모든 것은 Entity Framework에 계속 연결되어 있습니다.이 프레임 워크는 사용하기 원하는 방식이 아니며, 상자에서 꺼내기 만하면 마치 Authorize
이 원하는대로 작동하는지 확인하지 않고 멈추는 것처럼 보입니다. .
실제, 문자 그대로 진실 된 대답은 "마법"입니까? – Ciel
@Ciel - 음, 나는 "문자 그대로"라고 말하지 않을 것입니다. MVC (또는 asp.net) 파이프 라인을 이해한다면 말이됩니다. 이해해야 할 핵심 사항은 Authorize가 사용하는 ID 시스템이 ASP.NET의 기본 제공 인터페이스에 일반적으로 적용되지 않는다는 점입니다. "마술"은 페이지로드시 ID가 어떻게 연결되는지에 있습니다. –
롤, 나는 조금 냉소적이었다. 그것은 마술처럼 보입니다. – Ciel