2009-06-23 2 views
1

는 기본적으로 어떻게이를 얻을 수 있습니다. ASP.Net MVC : 파일 구조, 컨트롤러 및 뷰 : 관리자와 나머지 관리자를 분리하려면 어떻게해야합니까? 나는 치즈 포럼 응용 프로그램을 만드는 촬영 한 MVC 내용 : 사이트 이름/포럼/인덱스 대</p> <p>배경을</p> <p>사이트 이름/관리/포럼/색인 :

IMGAE!!1 http://byatool.com/wp-content/uploads/2009/06/stack-projectshot.jpg

지금이 모든 컨트롤러/뷰 관리자 측의 일 처리 : MVC에 대해 아무것도 아는 전에 난 그냥 기본적으로이 기본 감독 구조의 권리로 증가했다. 비 관리자 측 작업을 시작하기 전까지는 괜찮 았습니다. 이제는 현재 설정을 관리자 및 관리자가 아닌 사이트로 전송하는 방법을 놓치고 있습니다. 나는 전에 입력 기본적으로 : - 관리자에 대한

사이트 이름/포럼/색인 -

사이트 이름/관리/포럼/색인 일반 사용자

를 들어 당신이 볼 수 있듯이, 포럼의 이름, 따라서 포럼 컨트롤러는 겹칠 것이고 MVC는별로 좋아하지 않습니다.

내가보기에는 siteName/Forum/AdminIndex 또는 siteName/ForumAdmin/Index 즉 ForumAdminController를 갖고 싶지 않습니다. 이는 이상한 작업처럼 보이기 때문에 Admin/level에서 사용자에 대한 검사를 수행 할 필요가 없기 때문입니다. 관리자가 아니고 그 "폴더"(더 나은 단어의 부족)에서 무엇이든 들어갈 수 없도록합니다. (나는 이것이 경로를 통해 이루어질 것이라고 가정한다.)

나는 이것을 없앨 방법이 정말로 있기를 바라고있다.

+0

나는 또한이 질문이있다. 난 안식한 API 구조를 논리 폴더 구조에 매핑하려고합니다. 저자마다이 문제를 해결 했나요? – Paul

답변

2

관리자 또는 콘솔 웹 응용 프로그램이 항상 자체 프로젝트에 있어야한다고 생각합니다. 이렇게하면 인트라넷 환경에 배치 할 때, 메인 사이트 등에서 특정 기능을 숨길 필요가있는 경우 더 많은 제어 권한을 가질 수 있습니다. 하나의 사이트에서 이러한 두 가지 문제를 공동으로 제기하는 경우는 거의 드뭅니다. 사이트가 성장하고 커집니다. 또한 관리 사이트는 주 응용 프로그램의 디자인 등에서 거의 이익을 얻지 못합니다. 관리 기능은 일반적으로보다 직접적인 레이아웃, 추가 스크린, 더 많은 보안 등의 이점을 얻습니다.

http://console.sitename.com/forum/index을 생각하십시오. 이것은 훨씬 명확하고 포럼 응용 프로그램과 여전히 관련이 있습니다. 관심사는 여기에서 아주 분리된다.

1

MVC의 장점은 URL이 ASP.NET Webforms 에서처럼 정적 리소스에 연결되지 않는다는 것입니다. 이를 염두에두고, 관리자 URL을 멋지게 꾸밀 수 있으며 복잡한 디렉토리 구조를 만드는 것보다 원하는 컨트롤러를 마음대로 가리킬 수 있습니다. 과거에는 관리 기능을 하위 폴더에 두는 것이 유용했는데 그 이유는 구성 파일을 사용하여 해당 폴더를 쉽게 잠글 수 있었기 때문입니다.하지만보기가 URL과 분리되어 있기 때문에 필요하지 않습니다.

일반적으로 저는 관리자의 경로를 관리 컨트롤러에서 지정하는 방식으로 구성합니다. 그런 다음 컨트롤러 클래스의 Authorize 데코레이터를 사용하여 관리 역할의 사용자 만 컨트롤러를 잠급니다. 그렇다면 사람들이 올바른 역할을하도록하는 것이 중요합니다. 내 URL은 일반적으로 "Admin/ManageUsers"의 영향을받습니다. 어쩌면 이것의 몇 가지 단점이 있지만, 나는 지금까지 어떤 문제도 겪지 않았다.

0

나는 두 가지 대안을 모두 수행했습니다. Bit and Andrew present와 나는이 경우 관리 영역을 별도의 영역에 넣거나보기를 관리 폴더에 함께 묶어 더 나은 개요를 제공한다고 생각합니다.다른 한편, 포럼과 관리 사이트에서보기를 재사용 할 때 Bit의 대안은 매우 좋지만 권한 부여 규칙에 따라 약간 다른 기능을 사용합니다.