Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular.js SPA:UI路由器授权与PHP验证_Javascript_Php_Angularjs_Authentication_Authorization - Fatal编程技术网

Javascript Angular.js SPA:UI路由器授权与PHP验证

Javascript Angular.js SPA:UI路由器授权与PHP验证,javascript,php,angularjs,authentication,authorization,Javascript,Php,Angularjs,Authentication,Authorization,在过去的几天里,我在Angular上读了很多关于UI路由器授权的文章。但我不清楚的是: 为什么我不应该使用一个php文件(index.php)作为SPA,它本身进行身份验证。这意味着在执行文件时,如果用户登录,脚本将在数据库中查找。然后我写一个$会话。 在网站上执行的每个操作(获取或存储任何数据)脚本都会检查用户是否有权这样做。如果不是这样,用户必须再次登录 这个想法有什么不对,因为我认为在JS站点上登录是不安全的?当您不想在不同的服务器上扩展应用程序时,这是默认的方式。去做吧,它会让你觉得简单

在过去的几天里,我在Angular上读了很多关于UI路由器授权的文章。但我不清楚的是:

为什么我不应该使用一个php文件(index.php)作为SPA,它本身进行身份验证。这意味着在执行文件时,如果用户登录,脚本将在数据库中查找。然后我写一个$会话。 在网站上执行的每个操作(获取或存储任何数据)脚本都会检查用户是否有权这样做。如果不是这样,用户必须再次登录


这个想法有什么不对,因为我认为在JS站点上登录是不安全的?

当您不想在不同的服务器上扩展应用程序时,这是默认的方式。去做吧,它会让你觉得简单


只有当您必须在多个Web服务器之间扩展应用程序(预先使用负载平衡器)或在某个地方有REST-API(用于进行身份验证)时,您才需要其他扩展。正如前面的回答中所述:问题在于有状态会话的可伸缩性

这还意味着您的服务器必须在角度应用程序加载之前呈现响应。这会阻止您创建“已编译”或“静态”角度应用程序,如果浏览器的HTTP缓存自上次使用以来未发生更改,则可以从浏览器的HTTP缓存中快速提供该应用程序

替代方案?令牌身份验证,它使用无状态、自签名令牌从前端向后端发送API请求。我在这里写过: