HTML5 Websocket HTTP身份验证失败;没有有效的凭据可用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5 Websocket HTTP身份验证失败;没有有效的凭据可用相关的知识,希望对你有一定的参考价值。
我已经在我的MVC5应用程序中实现了html5 Websocket。我已经使用Web API实现了此Web套接字。该代码在我的本地环境中运行良好。但这给了我测试环境以下的错误。
“与的WebSocket连接失败:HTTP身份验证失败;没有有效的凭据。”
我的服务器配置是带有IIS8的Windows Server 2012
请帮帮我。
答案
[我们有一些客户仅在Windows 2012的服务器上有此问题。这似乎与Websocket的存在有关。在这些服务器上,启用跨域修复已为我们修复。
// Turn cross domain on
var config = new HubConfiguration EnableCrossDomain = true ;
// This will map out to http://localhost:50001/signalr by default
app.MapHubs(config);
另一答案
我的原因是过滤器在服务器中拦截
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rep = (HttpServletResponse) response;
handleRequest(req);
// swagger 不过滤
String ur = req.getRequestURI();
if (req.getRequestURI().contains("swagger")
|| req.getRequestURI().contains("swagger")
|| req.getRequestURI().contains("v2/api-docs")
|| req.getRequestURI().contains("websocket")
|| req.getRequestURI().startsWith("/images/favicon-")
|| req.getRequestURI().startsWith("/configuration/")
|| req.getRequestURI().startsWith("/v2/editapi/") )
chain.doFilter(request, response);
以上是关于HTML5 Websocket HTTP身份验证失败;没有有效的凭据可用的主要内容,如果未能解决你的问题,请参考以下文章
支持简单 HTTP 和 Websocket 的服务器上的用户身份验证
是否可以对 websocket 升级请求使用不记名身份验证?