내 MVC 응용 프로그램에서 WIF를 사용하여 클레임 기반 권한을 적용하고있는 고객을 삭제하는 컨트롤러 작업이 있습니다.ClaimsPrincipalPermissionAttribute를 사용하여 SecurityException을 잡는 방법은 무엇입니까?
문제점 : 누군가가 액세스 권한이없는 경우 브라우저에서 예외가 표시됩니다 (stacktrace를 사용하여 완료).하지만 리디렉션하는 것이 좋습니다.
이 작동 나를 리디렉션 할 수 있습니다 :
public ActionResult Delete(int id)
{
try
{
ClaimsPrincipalPermission.CheckAccess("Customer", "Delete");
_supplier.Delete(id);
return RedirectToAction("List");
}
catch (SecurityException ex)
{
return RedirectToAction("NotAuthorized", "Account");
}
}
이 작동하지만 (사용자가 권한이없는 경우) 잡는 방법을 모른다는 SecurityException가 발생합니다 :
[ClaimsPrincipalPermission(SecurityAction.Demand, Operation = "Delete", Resource = "Customer")]
public ActionResult Delete(int id)
{
_supplier.Delete(id);
return RedirectToAction("List");
}
I을 선언적 접근 방식을 사용하고 있지만 승인되지 않은 요청을 처리하는 방법을 모르고 있습니다. 어떤 제안?