관리자와 사용자가 있으므로 "admin"영역과 "user"영역을 만들 수 있습니다. 아래에서 제안한 내용은 역할에서 숨기려는 몇 가지 견해가있는 경우에 한합니다. 관리 영역에서 관리자 만 컨텐트를 업데이트 할 수 있도록 해당 영역의 기본 컨트롤러에 권한 부여 특성을 추가 할 수 있습니다. 그렇지 않으면, 다른 역할에서 업데이트 단추를 숨기고보기가 엉망이 될 수 있으므로보기에 if 문을 사용해야합니다.
UPDATE : 아래
는 지역의 개요에 대한 링크입니다. 영역은 "Admin"이라는 영역을 만들 수 있고 그 영역 안에 컨트롤러/뷰/뷰 모델 등이있을 수 있기 때문에 영역이 멋집니다. 다른 영역과는 별개입니다. 이 영역에는 컨텐츠 업데이트 로직을 포함 할 수 있지만, 컨텐츠를 업데이트하는 역할을 원하지 않으면 로직을 포함시키지 마십시오. 다행히 링크가 할 수있는 것보다 더 잘 설명해 줄 것입니다.
프로젝트 영역을 사용할 때 모든 컨트롤러가 상속하는 기본 컨트롤러를 만듭니다. 내 기본 컨트롤러처럼 보일 수 있습니다 무엇의 예는 다음과 같습니다에만 관리자가 웹 사이트의이 부분에 액세스 할 수 있도록
[Authorize(Roles="Admin")]
public class AdminBaseController : Controller
{
...
}
그런 다음 지역 내 모든 컨트롤러에서 나는 AdminBaseController에서 상속됩니다. 당신은 단지 당신이 컨트롤러 액션에 이런 일을 할 수있는 view.cshtml 파일을 볼 관리자의 원하는 경우, 예를 들어
:
http://www.dotnet-tricks.com/Tutorial/mvc/a9P1010113-MVC-Areas-with-example.html
권한 부여 뷰에 속성을 추가
public class HomeController : AdminBaseController
{
...
}
: 사용자가 그 역할을하지 않은 경우
[Authorize(Roles="admin")]
public ActionResult View()
{
....
}
그들은이보기에 액세스 할 수있을 것입니다.
여러 역할을 위해, 당신은 할 수 있습니다 :
는
[Authorize(Roles="admin, user")]
public ActionResult View()
{
...
}
이 페이지를 볼 수있는 관리자 또는 사용자 인 사람을 수 있습니다. (두 가지 역할을 모두 수행 할 필요는 없습니다.)
여러 역할을 추가 할 수 있습니까? 관리자 및 사용자? – NULL
예 [Authorize (Roles = "admin, user")] 여야합니다. 사실, 올바른 방법을 다시 확인하는 구문을 살펴 보겠습니다. – Andrew
내 대답 – Andrew