我正在编写一个Spring MVC应用程序。我使用Spring 6。我有一些控制器,除了给用户一个html页面或重定向到另一个方法之外,还做一些中间工作。举例来说:
@RequestMapping("/department-save")
public String redirectDepartmentsAfterSavingDepartment(Department department) {
departmentRepository.save(department);
return "redirect:/departments";
}
字符串
用户以添加部门的形式单击“添加”按钮后调用此方法。
因此,如果用户直接在地址栏中键入此URL,那么我们将得到一个完全错误的操作。
有没有一种方法可以使URL对用户不可访问(不管他在Spring Security中的角色如何),但对其他控制器可访问?例如,如果您尝试从浏览器访问URL,将出现404错误,但其他控制器将能够使用此URL。
举例来说:
@RequestMapping("/department-save")
@AllowOnlyForControllers
public String redirectDepartmentsAfterSavingDepartment(Department department) {
departmentRepository.save(department);
return "redirect:/departments";
}
型
1条答案
按热度按时间smdnsysy1#
选项1:可以使用JWT security setting禁止用户调用路由
选项2:您可以用户角色或完成其他控制器对此操作,i用户WebUserController和PanelUserController并添加或删除一些方法,以防止他人访问或查看所有路由