我正在尝试检查用户是否使用
Fairing
发送了 cookie,但我无法找到通过阻止传入请求来拒绝传入请求的解决方案。
#[rocket::async_trait]
impl Fairing for LoginCheck {
fn info(&self) -> Info {
Info {
name: "Login Check",
kind: Kind::Request | Kind::Response,
}
}
async fn on_request(&self, request: &mut Request<'_>, _: &mut Data<'_>) {
let auth_cookie = request.cookies().get("auth")
// block the request here
}
async fn on_response<'r>(&self, _request: &'r Request<'_>, response: &mut Response<'r>) {
response.set_header(Cookie::new("auth", "test cookie"));
}
}
我想知道一种阻止请求的方法,或者是否有其他方法可以解决路由处理程序不必检查用户是否已发送 cookie 的问题。