当用户没有查看特定页面的权限时,我希望我的控制器返回正确的 HTTP 响应代码。
原文由 Will Harris 发布,翻译遵循 CC BY-SA 4.0 许可协议
当用户没有查看特定页面的权限时,我希望我的控制器返回正确的 HTTP 响应代码。
原文由 Will Harris 发布,翻译遵循 CC BY-SA 4.0 许可协议
你也可以扔
org.springframework.security.access.AccessDeniedException("403 returned");
这会在响应标头中返回 403。
原文由 Chris Ritchie 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
匆匆
如果您使用的是纯 JSP 视图(最常见的情况),则只需添加
在你的视图文件中的某个地方。在顶部是一个不错的地方。
细节
在 MVC 中,我总是会在视图中设置它,并且在大多数情况下使用 Spring-MVC,使用
SimpleMappingExceptionResolver
来呈现正确的视图以响应抛出的运行时异常。例如:在您的控制器或服务层中创建并抛出一个
PermissionDeniedException
并让异常解析器指向一个视图文件permissionDenied.jsp
。此视图文件设置 403 状态并向用户显示适当的消息。在您的 Spring bean XML 文件中:
如果您需要实现用户登录机制,请查看 Spring Security (以前称为 Acegi Security)。