問題:HTMLファイルを条件付きで送信する必要があります(認証が成功した後)。これは正常に動作しますが、CSSを送信しません。 これは静的なファイルとして提供したくないのは、前述のように、認証されたユーザーだけのためです。明示的に認証した後にHTMLでCSSを提供する
だから私はこのHTMLファイルを誰にでも公開することなくCSSをどのように送信するのですか?
私は一般的なミドルウェアを使用することはできません。なぜなら、認証が必要ないパブリックなファイルがあるからです。だから、各リクエストでトークンをチェックするミドルウェアがあれば、それは壊れてしまうでしょうか?
app.get("/admin/", (req, res) => {
let token = req.cookies.sessionToken;
fetch("https://authenticationAPI/admin/", {
headers:{
Authorization: token
}
}).then(response => {
if (response.status === 200) {
res.sendFile("index.html", { root: "./admin" }, (err) => {
if (err) console.log(err);
res.end();
});
} else {
res.send("Sorry, you're not an admin!");
res.end()
}
}).catch(err => {
res.redirect("Sorry, something went wrong there!");
});
});
CSSを保護する背景には何がありますか?私は実際のページだけを保護すれば十分だと思います。いずれにせよ、以下の私の答えを見てください。 –
ああ、私のOCDはおそらく。主なポイントは私がいくつかのファイルを保護することができますが、他の人を許可することです。 CSSかどうかわからない – ThatBrianDude