Sadece kimlik doğrulamayı etkinleştirmeye çalıştığımda gerçekleşen OWIN ile birlikte SignalR ile kendi kendine hosting yaparken bir CORS sorunum var.Kendiliğinden barındırma ve kimlik doğrulaması ile SignalR etki alanları arası bağlantılar
benim web tarayıcısında olsun hatadır: ... http://.../signalr/negotiate?[snip] Origin yükleyemiyor
XMLHttpRequest Erişim-Control-Allow-Origin tarafından izin verilmez Bu yalnızca I olur
this answer yılında yaklaşımını kullanarak kendi kendine barındırılan sunucudaki kimlik doğrulamayı etkinleştirmek:
public void Configuration(IAppBuilder app)
{
var listener = (HttpListener)app.Properties[typeof(HttpListener).FullName];
listener.AuthenticationSchemes = AuthenticationSchemes.Ntlm;
app.MapHubs(new HubConfiguration { EnableCrossDomain = true });
}
Bendışarı yorum yaparsanızhattı sonra CORS çalışır (ve ben her şeyi kontrol ettim these instructions). NTLM'den başka kimlik doğrulama şemaları kullanırsam aynı sorunu yaşıyorum.
Access-Control-Allow-Kimlik: true
Erişim control- ne incelemek için Fiddler kullanarakkimlik Gerekli CORS başlıkları sunucusundan geri geliyor bkz etkin olmadan oluyor Allow-Origin: [benim sunucu]
Ben kimlik doğrulamayı etkinleştirmek kez Ancak bu başlıkları eksik bir 401 yanıt almak. Tüm isteklerde gerekli Origin
başlığı var.
SignalR source code'u incelediğimizde, başlıklar ayarlanmış gibi görünüyor, ancak muhtemelen kimlik doğrulaması etkinleştirildiğinde, HttpListener
, bu koda çarpmadan ilk 401 yanıtını gönderiyor.
Sanırım sorum şu: Kimlik doğrulama protokolleri anlaşmasında Access-Control-Allow-Origin
başlığını eklemek için HttpListener
'u nasıl alabilirim?
Bundan daha fazlasını yaptınız mı? Ben aynı sorunu yaşıyorum ... –