실습을 위해 새 ASP.NET MVC 3.0 응용 프로그램을 만들려고합니다. 내 솔루션 (Practice.sln)는 4 층이있을 것이다 :서비스 공급자의 내부 멤버쉽 공급자
- Pratice.Common (내 ViewModels에 대한 클래스 라이브러리)
- Pratice.Data (EF에 대한 클래스 라이브러리)
- Pratice.Service (클래스 라이브러리 비즈니스 로직)
- Pratice.Web (asp.net의 MVC 3.0 프로젝트)
합시다 대한의 내가 강하게 내 Practice.Common 층에 정의 된 LoginModel에 입력 된 "로그인"이라는 전망을 가정합니다. LoginModel에는 2 개의 등록 정보 (사용자 이름 및 비밀번호)가 있습니다. 사용자가 양식을 제출하면, I는 다음과 같은 메소드를 호출 내 컨트롤러에서는
는 : ValidateUser ([HttpPost]
public ActionResult Login(LoginModel model)
{
if(_service.ValidateUser(model))
return null;
}
) 내 Pratice.Service 계층에 정의 된 방법이다 (제 LoginService.cs 파일 내) . 나는 기본적으로 내 서비스 레이어에 검증 프로세스를 위임하고있어
...
내 질문은 다음
내가/시도 멤버 자격 공급자의 이점을 사용하고 싶습니다 고려하고, 대부분의 (모든 것이 아닐지라도) 나의 논리가 내 서비스 계층에서 일어나고 있다고 생각한다면, 어떻게 을 내 서비스 계층으로 이동시킬 수 있습니까? (그건 경우에도 좋은 일이) 또한
... 나는 내장 한 내가 모든 테이블과 sprocs가 발생 사용하지 않는 때문에 ...
보너스 질문에 반대 내 자신의 멤버 자격 공급자를 만들 계획이었다 :
모든 로그인 및 계정 관리를 컨트롤러 내에서 직접 수행하고 나머지 모든 비즈니스 로직을 내 서비스 계층에 보관하는 것이 가장 좋습니다.
컨트롤러의 내부에서 직접 발생하는 로직의 "부품"과 서비스 레이어에서 발생하는 다른 "부품"이있는 것이 궁금합니다.
물론 누군가가 링크를 설명하거나 기사를 작성하면 감사하게 생각합니다.
감사
당신은 당신이 약간의 독서를했다고 말했습니까? –