我正在开发一个HTML网页使用Firebase,我的工作树是:
css
: CSS样式文件文件夹js
: Javascript文件文件夹login.html
:登录页面signup.html
:注册页面app.html
:主应用页面
我想限制app.html
访问仅对登录用户。我在Javascript中实现了一些脚本,使用login.html
和signup.html
页面通过电子邮件和密码对用户进行身份验证。对于这个项目,我使用了Firebase提供的托管工具。但是,我不确定是否需要将此功能应用于托管工具或实时数据库或其他工具。也许解决方案是上传我的网页作为一个实时数据库资源,然后,控制访问一些路径修改database.rules.json
文件,但我不知道如何实现它。
谢谢你的帮助:)
Firebase Hosting上的所有内容都是公开的。没有办法限制访问你的HTML或JavaScript或任何其他资源,你托管在Firebase主机。
也看到:
- Firebase主机可以限制对资源的访问吗?
正如其中一个答案所说,你可以使用云函数控制访问,但此时它不再是静态资源。
让主机上的资源不受保护,然后限制对页面中显示的数据的访问是很常见的,这些数据可能是从Firebase的一个数据库加载的。在这种情况下,您可以使用安全规则控制对数据的访问,这里有完整的文档说明。如果你正在使用Firestore,这里还有一个代码库,让你更容易上手。