spring - 使用 methodNameResolver 保护 Spring multiactionController 中的方法调用
问题描述
我正在使用 Spring 3 并使用 simpleUrlMapping 实现了 MVC。我正在CustomerController
上课。在CustomerController
我有三种方法:
- 查看客户
- 添加客户
- 删除客户
使用方法名称解析器调用上述操作。
我的要求取决于登录的用户和权限,我想保护相应的方法调用。
删除客户方法应该由特权用户调用,而不是由所有用户调用。
我也在使用 Spring Security。有什么方法可以使用 Spring 安全性保护删除客户方法?
解决方案
选项:
@RequestMapping
public void deleteCustomer(HttpServletRequest request) {
if(request.isUserInRole("ROLE_ADMIN"){
// do deletion
};
}
或使用 @EnableGlobalMethodSecurity
@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping
public void deleteCustomer(HttpServletRequest request) {
推荐阅读
- python - 如何获取 django 应用程序的当前基本 URL 路径
- variables - 为仅针对一个管道运行的作业动态保存 GitLab 变量
- neural-network - 用于时间序列预测的 NN 类型
- visual-studio - 从联系人调用时,IsPortalEnabled 总是返回 False
- ssh - SSH 连接到启用了以太网和 WiFi 网络接口的远程机器
- excel - 如何使用 Excel 365 从数组中拆分值
- c - 具有多个用逗号分隔的值的宏实际上是什么意思?
- artificial-intelligence - 使用 GPT-2 语言模型的文本补全如何生成完整的 URL?
- excel - 比较表 1 中表 2 中缺失数据和新数据的两个 Excel 表
- vscode-extensions - 如何等待 vscode api 窗口消息