我有一个带有 Angular 4 的前端并连接我正在使用 phpCAS,我将它放在一个文件夹 /backend 与我的前端相同的位置。在我的前面,Angular 的 index.html 所在的位置,有一个 index.php 文件,它首先启动,并在调用我的身份验证后包含 index.html。然后身份验证按预期工作,但是每当我想断开连接时,我都会使用以下命令调用我的后端:前面的断开按钮(角度)logoutCerbere() { return this._http.get("./backend/logout.php").subscribe(data => { console.log("Disconnected") })}登出.phprequire_once 'init.inc.php';if (phpCAS::isAuthenticated()) { phpCAS::logout(); session_destroy(); session_unset();} else { header('HTTP/1.0 401 Unauthorized'); echo 'HTTP/1.0 401 Unauthorized'; }init.inc.php<?phprequire_once 'CAS-1.3.6/CAS.php';$CAS_HOST = '*******/****';$CAS_CONTEXT = '/cas/public/';//$cas_server_ca_cert_path = '/path/to/cachain.pem';//phpCAS::setCasServerCACert($cas_server_ca_cert_path);phpCAS::client(CAS_VERSION_2_0, $CAS_HOST, 443, $CAS_CONTEXT);phpCAS::setNoCasServerValidation();phpCAS::forceAuthentication();?>我收到一个 CORS 错误,指出“同源策略不允许在...读取远程资源(原因:缺少 CORS 标头‘Access-Control-Allow-Origin’)”我不明白的是我从我的服务器调用它(因为我要求获取我的 php 文件并且我的连接以完全相同的方式工作)所以不应该有 CORS 请求。我在那里想念什么?
1 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
我缺少的是:
在包含之前确实是 PHP,所以没有 CORS,但是一旦我们在包含中,它就是 html/front 域
getUser 只是从本地存储中检索数据,因此不涉及 CORS
当我想发出断开连接请求时,该请求是在前端提出的,这意味着 CORS 会进行干预。
我通过简单地将<a href="backend/logout.php">Disconnect</a>
.
这意味着 PHP 在服务器端运行,不会涉及 CORS。
- 1 回答
- 0 关注
- 148 浏览
添加回答
举报
0/150
提交
取消