켈시의 대답은 바로 마크에 있지만 나는 토론에 뭔가를 추가하고 싶었다. 또 다른 옵션은 실제로 "admin"라우트가 전혀없는 대신 실제로 제한된 URL에 액세스하기 위해 관리자 인증 세션이 필요합니다.
이것은 "전통적인"RESTful 응용 프로그램에서 수행되는 경우가 많습니다. 컨트롤러는 조작중인 자원의 유형을 나타내며 조치는 동사이고 id는 해당 자원의 특정 구성원에 대한 고유 한 ID입니다. 대신 갖는 즉
:
이
/content/list (for normal users)
/admin/content/add (for admins)
당신은
/content/list (for everyone)
/content/add (for admin, but must be authenticated to work)
정말 당신이 쓸 수 아마도 제외하고 (모든 benifits를 추가하지 않습니다 URL에/관리/추가 할 것이다/admin 아래의 항목에 대해 단 하나의 규칙을 사용하여 보안 논리를 유지함)하지만 더 복잡한 경로와 표준 RESTful을 깨는 것입니다. 표준 관행을 깨는 것은 그 자체로 나쁜 것은 아니지만, 그 이유는 표준에 맞다고 생각해야하며,이를 깨뜨리는 데 특별한 이점이 없다면, 그것들을 고수 할 수도 있습니다.
두 URL 스타일 모두에서 사용자를 인증해야합니다. 그렇지 않으면 누구나 사용할 수 있습니다.
ASP.NET MVC에서는 ActionFilters를 사용하여 사용자 수준에 따라 작업 (또는 전체 컨트롤러)에 대한 액세스를 제한 할 수 있습니다. 이러한 필터로 관리자 전용 작업을 꾸미면 인증 된 관리 사용자 만 실제로 필터를 사용할 수 있습니다.
자세한 내용은 Scott Gu's 블로그 항목 또는 Rob Connery's post을 읽으십시오.
사물을 사용하면 다른 컨트롤러에도'admin /'접두어를 붙이기가 너무 쉽습니다. 귀하의 사이트/관리자/홈을 통해 귀하의 사이트/홈을 방문 할 수도 있습니다. –