나는 Microsoft 시험을 준비하고 있으며 몇 가지 샘플 질문을하고 있습니다. 나는이 질문이 :Asp.Net 권한 부여 규칙 우선 순위
"당신은 회원 및 역할 공급자를 사용하도록 구성된 ASP.NET 웹 응용 프로그램을 개발하고
당신은 모든 사용자가 HTTP GET 만 허용해야합니다 단지를 수행 할 수 있도록해야합니다. 사용자가 Moderator라는 이름의 POST 작업을 수행합니다. 어떤 구성을 web.config 파일에 추가해야합니까? "
<authorization>
<deny verbs="POST" users="*" />
<allow verbs="POST" users="Moderator" />
<allow verbs="GET" users="*" />
</authorization>
<authorization>
<allow verbs="GET" users="*" />
<allow verbs="POST" users="Moderator" />
<deny verbs="POST" users="*" />
</authorization>
두 가지 답변이 있지만 분명히 잘못되어 있으므로 여기에 복제하지 않았습니다.
두 규칙 집합 사이에 위치 할 수있는 유일한 차이점은 규칙이 배치되는 순서입니다.
정답은 두 번째 규칙 집합입니다. 이 규칙은 먼저 "중재자"에 대한 POST 액세스를 허용 한 다음 다른 사람들을 위해 제거합니다. 이는 1 인에게 특권을 부여한 다음 모든 사람으로부터 그 특권을 제거하지만 나중에 1 인은 여전히 특권을가집니다.
첫 번째 규칙 집합이 더 의미가있는 경우 - 먼저 모든 사람을 거부 한 다음 개인에게 선택적으로 액세스 권한을 부여하십시오. 분명히 이것은 잘못된 것입니다!
아무도 설명 할 수 없으므로이 점을 이해할 수 있습니까?
고맙습니다. 선착순 인 경우입니다. Asp.Net은 "중재자 허용"을 먼저 찾았고 일치하기 때문에 나머지는 무시할 수 있습니다. –
붐. 이것은 내가 필요한 것입니다. +1. – dstepan