Php 服务人员登录页面

Php 服务人员登录页面,php,caching,login,service-worker,Php,Caching,Login,Service Worker,我在具有登录页的web应用程序上实现service worker缓存时遇到问题 发生的情况是,用户登录,服务人员安装并激活,但当用户单击一个链接时,它会将他们带回登录页面,即使他们已经登录 有人能给我指出一个正确的工作方向吗 提前非常感谢您可能犯的错误是试图缓存用户登录前需要用户权限的页面。因此,发生的情况是:浏览器试图检索路由,但服务器给出了登录页面,因为用户未登录 您可能需要做的是: 您等待您的用户登录到您的应用程序 用户登录一次,然后注册服务人员 要将页面缓存为已登录用户,您必须发送coo

我在具有登录页的web应用程序上实现service worker缓存时遇到问题

发生的情况是,用户登录,服务人员安装并激活,但当用户单击一个链接时,它会将他们带回登录页面,即使他们已经登录

有人能给我指出一个正确的工作方向吗


提前非常感谢

您可能犯的错误是试图缓存用户登录前需要用户权限的页面。因此,发生的情况是:浏览器试图检索路由,但服务器给出了登录页面,因为用户未登录

您可能需要做的是:

  • 您等待您的用户登录到您的应用程序
  • 用户登录一次,然后注册服务人员
  • 要将页面缓存为已登录用户,您必须发送cookies信息。它将是这样的:
  • ``` /*sw.js*/

    var cacheName = 'yourCacheName-vx.x.x';
    
    // The route for which you need to be logged in. It's a Request Object.
    var appRequest = new Request('/da-private-route', { credentials: 'include' });
    
    var urlsToCache = [
        appRequest, // you add it to your things to cache
        '/manifest.json',
        '/css/styles.css',
        '/js/scripts.js',    
        // other resources…
    ];
    
    // Installation.
    self.addEventListener('install', e => {
        e.waitUntil(
            self.skipWaiting().then(function() {
                caches.open(cacheName).then(function(cache) {
                    return cache.addAll(urlsToCache);
                })
            })
        );
    });
    
    /* [continue your sw…] */
    
    ```