2011-01-27 6 views
0

나는 사용자가 인증되었는지 확인하기 위해 기본 검사를 구현하는 작업 필터를 가지고 있습니다. 사용자가 인증되지 않은 경우경로 지정 결과 자원을 찾을 수 없습니다.

나는이 구현했습니다 :

 var routeValue = new RouteValueDictionary 
          {          
           {"Controller", "Permission"}, 
           {"Action", "NoAccess"} 
          }; 

     filterContext.Result = new RedirectToRouteResult(routeValue); 

     base.OnActionExecuting(filterContext); 

이 작동하고 포인트를 사용자에게 확인 :

에 http : // localhost를 :/권한/NoAccess 다음

하지만 문제가 발생하면 프로젝트를 다시로드하면 사용자가 리디렉션됩니다.

http : // localhost : /Views/Permission/NoAccess.aspx

오류가 발생합니다. 리소스를 찾을 수 없습니다.

약간 혼란스러워 한 번 다시 작동하면 다시로드됩니다. 어떤 제안? 아마 내가 다른 방법을 사용하여 리디렉션해야합니까?

사용하여 IIS는, 비주얼 스튜디오 2010, MVC2

답변

0

이 비주얼 스튜디오의 불행한 기능처럼 보이는 ...

하면 Visual Studio에서 연 다음 F5를 눌러 NoAccess.aspx 뷰가있는 경우, 표현 Visual Studio는 URL이 http:/localhost:11111/Views/Permission/NoAccess.aspx 인 Internet Explorer를 엽니 다. 이 URL은 기존 ASP.NET 응용 프로그램에서 작동하지만 ASP.NET MVC 응용 프로그램에서는 사용할 수 없습니다. 기본적으로 Visual Studio의 버그이며 응용 프로그램에는 포함되지 않습니다.

.cs 파일을 연 다음 F5 키를 누르면 Visual Studio에서 URL이 http:/localhost:11111/ 인 Internet Explorer가 시작됩니다.

이 무엇을 의미하는지 모르겠으므로이 문제가 적용되는지 잘 모르겠습니다.. 그러나 그것은 당신이 보는 것일지도 모릅니다.

+0

네, VS 버그라고 생각합니다. 작동 여부에 관계없이 앱을 다시 시작할 수 있기 때문입니다. 나는이 질문을 좀 더 길게 여길 동안 남겨두고, 다른 피드백이 없다면 대답에 대한 점수를 줄 것이다. 고마운 친구 – nologo

관련 문제