2016-10-28 3 views
0

내 로그인 페이지에서/ForgotPassword에 대한 링크가 있습니다. 클릭 할 때/Login으로 리다이렉트 되었습니까? ReturnUrl = % 2fForgotPassword. 이것은 폼 기반 인증을 사용하는 MVC5 앱입니다. AllowAnonymous를 사용하려하지만 작동하지 않습니다. 웹 구성 :ForgotPassword에 익명 액세스 허용 페이지

<location path="."> 
    <system.web> 
    <authorization> 
    <deny users="?"/> 
    </authorization> 
    </system.web> 
    </location> 
    <location path="Content"> 
    <system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
    </system.web> 
    </location> 
    <location path="Scripts"> 
    <system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
    </system.web> 
    </location> 
    <location path="App_Themes"> 
    <system.web> 
    <authorization> 
    <allow users="*"/> 
    </authorization> 
    </system.web> 
</location> 

<authentication mode="Forms"> 
    <forms loginUrl="~/Login" timeout="15"/> 
</authentication> 

ForgotPassword 컨트롤러 :

[AllowAnonymous] 
public class ForgotPasswordController : Controller 
{ 
    [AllowAnonymous] 
    public ActionResult Index() 
    {   
     return View(); 
    } 
} 

그런 행운. _ViewStart를 제외하고 AllowAnonymous로 꾸며야하는 사용중인 것을 찾을 수 없습니다.

무엇이 여기에 있습니까? 감사!

답변

1

we.config에서 권한 부여 태그를 사용하지 않으려면 컨트롤러 및 작업에서 권한 부여 속성 만 사용하십시오.

web.config의 승인 태그는 파일에 대한 액세스를 허용/제한하는 데 유용하며 웹 양식과 정적 콘텐츠에서 잘 작동합니다.

그러나 MVC에는 컨트롤러와 작업에 매핑되는 경로가 있으며, 동일한 컨트롤러에서 다른 인증 태그를 사용하여 다른 작업을 수행 할 수 있습니다. 예 : 전체 컨트롤러에 [인증]을 사용하고 하나만 허용 [AllowAnonymous] 특성을 원하는 작업에만 사용하여 익명 사용자를위한 작업.

자세히 알아보기 : https://weblogs.asp.net/jongalloway/asp-net-mvc-authentication-global-authentication-and-allow-anonymous

관련 문제