2013-12-16 5 views
2

asp.Net 웹 폼 응용 프로그램에서 인증 및 인증 특성을 사용하는 방법을 알고 있지만 이전 웹 사이트를 MVC 4로 업그레이드해야합니다. 어떻게 작동하는지 알지 못한다.Asp.net MVC 4 웹 응용 프로그램의 인증 및 권한 부여

web.config 파일에서 전역 적으로 사용하려고했지만 도움이되지 않습니다.
익명 사용자에게 숨기고 싶은 콘텐츠에 [Authorize] 속성을 사용하고 익명 사용자에게 액세스를 허용하기 위해 [AllowAnonymous] 속성을 사용했습니다.
또한 web.config 파일에 있지만 여전히 원하는 결과가 표시되지 않습니다.
페이지의 어떤 부분에도 [Authorize] 속성을 적용하자마자 인증 된 사용자조차 허용하지 않습니다.
도움이 될 것입니다.
다음 코드를 사용했습니다.

에서 Global.asax에 파일 :

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new LogonAuthorize()); 
    filters.Add(new HandleErrorAttribute()); 
    filters.Add(new System.Web.Mvc.AuthorizeAttribute()); 
    filters.Add(new RequireHttpsAttribute()); 
} 

그리고 예를 들어 내 홈 페이지에 액세스하기 위해 익명 사용자를 허용하려면, 내가 사용하는;

[Authorize] 
public ActionResult Index() 
{ 
    return View(); 
} 

로그인 페이지에 나는 내가

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880" /> 
</authentication> 
<authorization> 
    <deny users="?"/> 
</authorization> 

을 사용하지만 앞서 언급했듯이 저도 같은 문제를 가지고 web.config 파일에서
[AllowAnonymous] 
[HttpPost] 
public ActionResult Login() 
{ 
    return View(); 
} 

을 사용했다. 약간의 설명이 도움이 될 것입니다.

답변

0

여러 개의 글로벌 인증 필터가있는 것처럼 보이고 데코 레이팅 된 클래스를 인증하는 것도 좋습니다. LogonAuthorize()은 무엇입니까?

전역 AuthorizeAttribute 필터를 사용하려는 경우 클래스에 대해 권한 부여를 사용하지 말고 익명 사용자가 액세스 할 수 있도록하려는 메서드에서만 AllowAnonymous를 사용하십시오.

web.config에서 권한 부여 요소를 제거하십시오. 인증 요소를 그대로 둡니다.

(방금 알아 차 렸습니다. 6 개월입니다 ... 여전히 의심 스럽네요.)

관련 문제