IAuthorizationFilter가 속성과 결합되어 컨트롤러가 코스를 실행하기 전에 사용자가 로그인했는지 확인하는 것이 더 좋습니까?ASP.Net MVC : IAuthorizationFilter/속성이 로그인에 대한 보안 검사를 선호합니까?
저는 MVC를 처음 접했기 때문에 WebForms에서 처리 된 상황을 처리하는 방법을 알아 내려고 노력했습니다. 어제 도망친 것은 사용자가 로그인했는지 여부에 따라 페이지를 볼 수 있는지 여부를 확인하는 것입니다. 내 프로젝트를 가져 와서 MVC 프로젝트로 "변환"할 때, 나는이 상황을 어떻게 해결할 것인가에 대해 다소 의구심이있었습니다.
[AttributeUsage(AttributeTargets.Method)]
public sealed class RequiresAuthenticationAttribute : ActionFilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext context)
{
if (State.CurrentUser == null)
{
context.Result =
new RedirectToRouteResult
(
"Login",
new RouteValueDictionary
(
new
{
controller = "Login",
action = "Error",
redirect = SiteMethods.GetCurrentUrl()
}
)
);
}
}
}
그럼 난 그냥 그 속성을 때리고 :
if (State.CurrentUser == null)
{
State.ReturnPage = SiteMethods.GetCurrentUrl();
Response.Redirect(DEFAULT_LOGIN_REDIRECT);
}
는 내가 발견 했는가하는 것은 이것이다 : 사용자가 로그인 된 경우 웹폼 버전으로
, 내가 확인하기 위해 기본 페이지를 사용 어떤 컨트롤러 방법과 삶에 좋다. 문제는이 작업을 수행하는 것이 가장 바람직한 방법일까요?
하지만 Authorize 속성은 어떤 역할을합니까? 역할 구성원 요구 사항 또는 사용자 지정 권한 부여 HTTP 헤더는 어떻습니까? –