You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确保用户访问目标网站前必须经过独立域名的门户?

门户前置访问权限的实现方案

方法一:Cookie验证 + 前后端拦截

  • 先在www.web.com门户完成登录逻辑开发,用户通过验证后设置跨域Cookie(需配置Domain、Path、SameSite属性,确保www.example.com可读取),比如设置名为portal_auth的加密身份标识Cookie。
  • 在www.example.com侧添加拦截逻辑:
    • 前端:页面加载时检查是否存在有效portal_authCookie,无则直接跳转至www.web.com门户。
    • 后端:所有请求抵达后先校验portal_authCookie有效性,无效则返回302重定向到门户,或返回401状态码交由前端处理跳转。
  • 注意:跨域Cookie需满足两个域名同主域,或在HTTPS环境下使用SameSite=None+Secure属性。

方法二:Nginx反向代理拦截

  • 在www.example.com的Nginx配置中添加请求拦截规则,检查请求Cookie:
    server {
        listen 443 ssl;
        server_name www.example.com;
    
        # 静态资源或无需验证的路径直接放行(可选)
        location ~ ^/(public|static)/ {
            root /path/to/your/site;
        }
    
        # 其他请求先校验Cookie
        location / {
            if ($cookie_portal_auth = "") {
                return 302 https://www.web.com;
            }
            # 若需服务器端验证Cookie有效性,可添加Lua脚本调用认证接口(可选)
            proxy_pass http://your-backend-server;
        }
    }
    
  • 确保www.web.com登录后设置的Cookie符合上述Nginx的读取规则即可。

方法三:Token跳转验证

  • 用户访问www.example.com时,直接重定向到www.web.com?redirect=https://www.example.com,携带回调地址参数。
  • 用户在门户完成验证后,生成一次性有效Token,拼接回回调地址:https://www.example.com?token=xxx。
  • www.example.com接收到Token后,调用门户的验证接口确认有效性,验证通过则设置本地Session或Cookie,允许用户访问后续内容。
  • 该方案无需处理跨域Cookie的复杂配置,适合不同主域的场景。

内容的提问来源于stack exchange,提问作者Viraal Space

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 17:02:15