我并不是真正的网络应用程序开发人员,我想询问有关控制网站内容的最佳做法。
我正准备部署使用 mkdocs 创建的文档。它使用 Netlify Identity,因为 Github 身份验证无需任何编码即可使用。
我当前的解决方案:我在 head 中添加了 Netlify Identity 脚本,并通过 mkdocs 中的模板插件添加了登录/注销按钮,然后创建了一个静态文档 /login/ (在 mkdocs 中自动获取但不使用模板生成) .
在标准模板中有一个 JS 重定向到 /login/ 除非用户登录:
if (window.netlifyIdentity) {
window.netlifyIdentity.on("init", user => {
if (!user) {
document.location.href = "/login/";
}
});
}
在静态页面上,只有在用户登录后才会重定向到 /:
if (window.netlifyIdentity) {
window.netlifyIdentity.on("init", user => {
if (!user) {
window.netlifyIdentity.on("login", () => {
document.location.href = "/";
});
}
});
}
我希望这是一个合理的方法。文档不存储任何重要内容,但我仍然不希望该内容暴露。
但我注意到在慢速连接时重定向需要一两秒钟,因此当访问深层 URL 时,登录前内容会在屏幕上闪烁。
只有在执行登录检查后才能停止此操作并加载内容?