该文档清楚地表明CAS为启用HTTP访问控制(CORS)提供了一流的支持。 但是,默认情况下是启用还是需要进行设置? 我正在开发一个Web应用程序,其中客户端Angular代码正在尝试访问另一个域上的服务器api。服务器本身已启用CORS。通信工作正常,没有任何安全性。当我将CAS单点登录引入混音时,我收到以下错误:
无法加载 https://myCasServer.com/?service=http%3A%2F%2Flocalhost%3A8080%2Fauthenticate: 重定向 'https://myCasServer.com/?service=http%3A%2F%2Flocalhost%3A8080%2Fauthenticate' 至 'http://myCasServer.com/login?service=http%3A%2F%2Flocalhost%3A8080%2Fauthenticate' CORS策略已阻止:请求的资源上没有“Access-Control-Allow-Origin”标头。原点'null'是 因此不允许访问。
响应中没有Access-Control-Allow-Origin标头。 我正在使用Cas 2.0
答案 0 :(得分:1)
CAS默认情况下未启用CORS。您需要添加https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#http-web-requests中列出的配置设置。例如
cas.httpWebRequest.cors.enabled: true
cas.httpWebRequest.cors.allowCredentials=false
cas.httpWebRequest.cors.allowOrigins[0]=*
cas.httpWebRequest.cors.allowMethods[0]=*
cas.httpWebRequest.cors.allowHeaders[0]=*