2012-09-06 5 views
-1

VS 2012를 사용하여 새 mvc 4 프로젝트를 만들었습니다. 이제 RouteConfig.cs에서 기본값으로 설정된 홈/인덱스를 여는 응용 프로그램을 실행합니다. 내 프로젝트의 첫 번째 페이지로 계정/로그인을 만들고 싶습니다. 계정/로그인 기본 경로를 변경하여이 작업을 시도했지만 저를 위해 작동하지 않습니다. 아무도 내가 알 필요가있는 것 외에 다른 치료가 필요합니다.MVC 4의 로그인보기로 리디렉션하는 방법

답변

0

마치 전체 응용 프로그램에서 사용자를 인증해야하는 것처럼 보입니다. 가정용 컨트롤러 일 수도 있습니다. HomeController에 AuthorizeAttribute를 추가 할 수 있으며, 먼저 액세스해야하는 사용자가 로그인해야합니다.

[Authorize] 
public class HomeController : Controller { 
    ... 
} 
+0

내 시작 페이지로 계정/로그인을 설정하고 싶습니다. – Pradeep

0

기본 경로를 수정하는 것은 사용자의 방문 페이지를 강제로 만드는 것과 동일하지 않습니다. 실제로 당신은 IIS에서 귀하의 사이트에 구성한 지정된 모든 호스트 헤더에서 들어오는 모든 요청을 처리 할 controller="Account", action="Login"에 위의 변경

 routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

. 그러나 합법적 인 경로를 가진 사용자는 리디렉션하지 않습니다.

이 경우 실제로 @mreyeros가 언급 한 [Authorize] 속성을 사용해야합니다. 사이트의 각 컨트롤러에서이 작업을 수행하거나 프로젝트의 다른 컨트롤러에서 상속 할 수있는 새 기본 컨트롤러를 만들 수 있습니다.

당신이 정말 리디렉션을하려는 경우, 당신은 (상속하는 새로운 기인 기본 컨트롤러)와 자신의 RedirectOnLandingAttribute 만들 때와 같은 접근 방식을 취할 수,하지만 난 당신이 가장 활용하여 접근 달성하기 위해 무엇을하려고하는 생각 프레임 워크가 이미 제공해야하는 것.

희망이 도움이됩니다.

관련 문제