我使用AngularJS创建了一个静态网站。我没有使用任何后端调用或数据库。但我希望有一个用户输入密码的登录页面(密码与网站用户相同,因为该网站仅供内部使用),如果密码正确,则我将用户带到主页,否则将其带回登录scree。我正在使用Apache Web Server。有没有办法在没有Tomcat / Database / Cookies等的AngularJS中实现安全的验证/认证?
注意:我不想以任何用户公开的方式在任何.js文件中存储用户名和密码。
由于
答案 0 :(得分:4)
答案 1 :(得分:0)
如果没有服务器,就没有完全证明这一点的方法。但是,您可以加密密码和用户名,然后将它们存储在cookie中。有很多javascript库可以实现这一目标。 示例教程:Encrypt cookies in browser.
这种方式不会暴露给用户。
答案 2 :(得分:0)
一种选择是在您的应用中添加HTTP基本身份验证。如果您使用Aerobatic托管您的应用程序,您可以像这样在package.json中配置它(请注意,您可以选择将auth添加到特定目录):
https://www.aerobatic.com/docs/http-basic-authentication
免责声明:我是Aerobatic的联合创始人{
"_aerobatic": {
"router": [
{
"module": "basic-auth",
"path": "/protected",
"options": {
"username": "$BASIC_AUTH_USERNAME",
"password": "$BASIC_AUTH_PASSWORD",
"loginPage": "login.html",
"maxFailedLogins": 5,
"failedLoginPeriod": 600
}
},
{
"module": "webpage"
},
{
"module": "custom-errors",
"errors": {
"403": "403.html"
}
}
]
}
}