Utworzyłem własny hosting Owin/SignalR aplikację z kodem podobny do kodu w tym tutorialu:Określ domeny w Owin Startup Klasy
wszystko działa, ale dla bezpieczeństwa-sake, I” Chcemy go ograniczyć, aby zezwalać tylko na wiadomości z określonej witryny zdalnej. Innymi słowy, chciałbym zastąpić "appuseCors (CorsOptions.AllowAll);" linię z kodem, aby ograniczyć działanie aplikacji tylko do odpowiedzi na wiadomości z zdefiniowanego przeze mnie adresu URL, tzn. zezwalać tylko na wiadomości od, powiedzmy, http://www.remote_site.com lub coś podobnego. Czy jest jakiś łatwy sposób to zrobić?
Dla porównania, tutaj jest kod dla mojej klasie startowej SignalR:
using System;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin.Hosting;
using Owin;
using Microsoft.Owin.Cors;
namespace SignalRSelfHost
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
// How do I only allow a specific URL instead of the "CorsOptions.AllowAll" option?
}
}
}
To wygląda świetnie! Znalazłem rozwiązanie, które ustanowiło CorsOptions z Lazy i kilkoma lambdami, które działały, ale nie było to takie proste. +1 !!! –
Początkowo widziałem tę metodę stosowaną przez jednego z facetów, którzy napisali SignalR, więc poszedłem z tym :)) Ale jeśli uważasz, że twój problem rozwiązuje równie dobrze, powinieneś go opublikować (na wszelki wypadek, gdyby ktoś inny potrzebuje tego) i zaznaczyć jedną z nich jako odpowiedź. Powodzenia! –