2009-08-05 4 views
0

MVC 멤버쉽을 이해하는 데 큰 문제가 있습니다. 우리는 "Admin"과 "SuperAdmin"이라는 이름의 프로젝트 컨트롤러에 있으며 일부 사용자 만 사용할 수 있습니다.ASP.NET MVC 멤버십 : 어떻게 만들거나 구성 할 수 있습니까?

각 작업마다 역할 승인 (Authorize Roles) 속성을 사용해야합니까, 아니면 사용자가 특정 페이지를 볼 수 있는지 확인하기 위해 ActionFilter를 사용할 수 있습니까?

사용자 역할 특성이 필요한 경우 ASP.NET 구성 도구에서 각 사용자를 구성해야합니까? 예를 들어, "SuperAdmin"은 사용하기 쉬운 ASP.NET 구성 도구를 만드는 소수의 사용자 (맨 위에 약 3 명) 일 뿐이며 이러한 사용자가 누구인지 알려줍니다. 그러나 "관리자"사용자는 더 많은 ... 어떻게 구성 할 수 있습니까?

나는 완전히 분실했습니다!

나는 그것을 명확히 밝힐 필요가있다!

감사합니다.

답변

2

컨트롤러와 작업에 AuthorizeAttribute를 적용 할 수 있습니다. 컨트롤러에 적용하면 각 메소드의 액세스가 속성과 관련하여 제한됩니다. 개별 역할에 속성의 다른 인스턴스를 적용하여 필요한 경우 다른 역할을 기반으로 액세스를 더 제한 할 수도 있습니다. 역할을 제어하는 ​​컨트롤러/작업에 액세스하려면 개별 사용자를 자신의 역할에 배치해야합니다.

+0

@tvanfosson - 그러나 "Admin"사용자 (그 중 몇 명이 존재하는지 모르는)의 경우 구성 도구에서 "Admin"역할마다 모든 구성을 구성해야합니까? – AndreMiranda

+0

@AndreMiranda - 구성 도구에서 구성하거나 자신의 사용자 관리 시스템을 구축하여 응용 프로그램 SuperAdmin이 자체적으로 수행 할 수 있도록합니다. – nkirkes

+0

@andreMiranda - 저는 보통 내 자신의 RoleProvider 역할을 맡고 @mannish가 제안하는 것처럼 응용 프로그램의 관리자 섹션의 일부로 역할 관리를 설정합니다. WindowsTokenRoleProvider를 사용하는 경우 AD 그룹을 오프라인으로 관리 할 수 ​​있습니다. 앱에서 사용할 수 있는지 여부에 달려 있습니다. – tvanfosson

관련 문제