php - 服务人员登录页面

标签 php caching authentication service-worker

我在具有登录页面的 Web 应用上实现服务工作线程缓存时遇到问题。

发生的情况是,用户登录,Service Worker 安装并激活,但是当用户单击链接时,即使他们已经登录,它也会将他们带回登录页面!

有人能给我指出正确的解决方法吗?

提前非常感谢

最佳答案

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

您可能需要做什么:

  1. 您等待用户登录您的应用。
  2. 用户登录后,您就可以注册 Service Worker。
  3. 要以登录用户身份缓存页面,您必须发送 cookie 信息 with credentials: include 。它将是这样的:

``` /* 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…] */

```

关于php - 服务人员登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666079/

相关文章:

具有多个收件人表结构的 PHP/MySQL PM 系统?

http - 如何指示浏览器在缓存资源时忽略 GET 参数

linux - 通过不同的用户 SSH 到另一台主机

javascript - 足够安全且最简单的 SPA 身份验证方式

php - 使用 jquery 的 ajax post 安全吗?

php - 如何从 CS 购物车中的 tpl 文件向 Controller 后端 php 文件发送 ajax 请求?

php - 如果当前日期已超过用户输入的日期,则删除 SQL 条目

jquery - 加速 JavaScript/jQuery 函数

caching - 如何计算缓存开销?

android - 尝试使用 Android SharedPreferences 维护登录状态