如何在春季 MVC 中退回 403 Forbidden?

我希望我的控制器在用户缺少查看特定页面的权限时返回正确的 HTTP 响应代码。


答案 1

您也可以直接投掷

org.springframework.security.access.AccessDeniedException("403 returned");

这将在响应标头中返回 403。


答案 2

创建一个带有@ResponseStatus注释的异常,例如:

@ResponseStatus(HttpStatus.FORBIDDEN)
public class ForbiddenException extends RuntimeException {
}

现在,只需在处理程序方法中抛出该 Exception,响应的状态将为 403。


推荐