2008-11-11 5 views
7

사용자가 로그인했는지 여부에 따라 두 가지보기가있는 MVC 사이트의 홈페이지를 디자인하려고합니다.ASP.NET MVC 하나의 경로, 서로 다른 두 가지보기

그래서 기본 (로그인하지 않은)보기는 일반적인 비 특정 정보를 표시합니다. 로그인 한 상태라면보기가 대부분 개인적인 물건을 대신 보여주고 있습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 우리가 단위 테스트를해야한다는 것을 잊지 마십시오.

감사합니다.

답변

13

컨트롤러에서 적절한보기를 반환하는 간단한 경우 여야합니다.

public ActionResult Index() 

    If (User.IsLoggedOn) 
    { 
     // Do user-specific controller stuff here... 

     return View("LoggedOnIndex"); 
    } 
    else 
    { 
     // Do anon controller stuff here... 

     return View("AnonymousIndex"); 
    } 
+0

심각합니까? 젠장 - 그건 간단합니다! 나는 분리 된 논리 (나로부터 지옥을 두려워하고 있었다)로 한 관점을 생각하고 있었다. 좋고 깨끗합니다. 굉장해! –

2

과거에

User.IsloggedOn

을 할 수 있는지 확실하지 않습니다,하지만 지금은 당신이 내장 사용하는 경우

User.Identity.IsAuthenticated

말할 필요 Web Forms 인증

관련 문제