在过去的几天里,我在Angular中阅读了很多关于UI-Router授权的内容。但有些事情对我来说并不清楚:
为什么我不应该将php文件(index.php)用作SPA,它会执行身份验证本身。这意味着执行文件时,如果用户登录,脚本会在数据库中查找。然后我写一个$ _SESSION。 对于将在网站上完成的每个操作(获取或存储任何数据),脚本检查用户是否有权执行此操作。如果不是这种情况,则用户必须再次登录。
这个想法有什么问题,因为我认为在JS网站上登录是不安全的?
答案 0 :(得分:0)
当您不希望跨不同服务器扩展应用程序时,这是默认的思考方式。去吧,它会保持简单的思考。
只有当您必须在多个Web服务器(预先使用负载均衡器)之间扩展您的应用程序时,或者如果您在某个地方(将执行身份验证)具有REST-API,您还需要其他任何扩展。
答案 1 :(得分:0)
如上一个答案所述:问题在于有状态会话的可扩展性。
这也意味着您的服务器必须在Angular应用程序加载之前呈现响应。这可以防止您创建"编译"或者"静态" Angular应用程序,如果自上次使用以来没有改变,可以从浏览器的HTTP缓存中快速提供。
另类?令牌身份验证,它使用无状态的自签名令牌从您的前端向后端发出API请求。我在这里写过关于他们的文章:Token Based Authentication for Single Page Apps (SPAs)