在应用程序运行时如何禁用RequestMapping?

时间:2018-08-03 10:47:10

标签: java spring

假设我有一个RequestMapping

@RequestMapping(value = "/api/login")

在应用程序运行时如何禁用路径"/api/login"

3 个答案:

答案 0 :(得分:0)

您可以检查用户是否已登录,并阻止他们进入页面,或者使用Spring Security或维护会话。

答案 1 :(得分:0)

您可以拥有Spring Security,也可以使用Filter机制来过滤请求。

答案 2 :(得分:0)

不确定为什么需要此功能,但是理论上可以做到这一点的一种方法是设置切换标志。如果您只有一个实例,这将起作用。     如果有多个实例,最好的方法是在数据库/存储中精简

private final AtomicBoolean enabled = new AtomicBoolean(true);

@RequestMapping(value = "/api/login")
public ResponseEntity login(){
    if(enabled.get()){
        login....
    }else{
        throw new LoginDisable();
    }
}

//method to enable/disable