Mi piacerebbe poter condividere alcuni dati tra un'applicazione asp.net mvc e un'applicazione python/django. Il tipo di dati che vorrei condividere sono i dati di autenticazione o di sessione.è possibile condividere i dati di sessione da un'applicazione asp.net mvc e un'applicazione python?
è possibile condividere i dati di sessione da un'applicazione asp.net mvc e un'applicazione python?
risposta
Questo è ovviamente possibile finché si accede ad alcune risorse condivise tra entrambi i framework. Ci sono probabilmente diversi modi per farlo, ma uno dei più ovvi sarebbe l'utilizzo di un backing store condiviso, ad esempio. database o forse anche memcached che sarebbe più veloce. Io non sono un utente Django, ma per quanto ne so memcached è supportato in esso ...
c'è ovviamente uno scenario più complesso relative a questo e che è la compatibilità dei dati . Probabilmente dovrai usare un formato intercambiabile che entrambi i framework comprendono, ad esempio. XML, JSON, BSON o simili. Quindi, anche quando si utilizza memcached, è necessario eseguire questa conversione .
C'è un'opzione per memorizzare lo stato della sessione nel database MS SQL Server che è disponibile immediatamente. Utilizza i passaggi dal prossimo kb http://support.microsoft.com/kb/317604 È più sulla configurazione, non sull'implementazione. È possibile scrivere il proprio provider di archiviazione personalizzato, ma c'è qualche ragione per questo?
Non ho familiarità con Python, ma ci sono almeno driver ODBC per esso http://wiki.python.org/moin/SQL%20Server
Come vorrei condividere sessione ...
Fai il sottodominio del cookie di sessione agnostico
<httpCookies domain=".mydomain.tld" />
avere i miei due sotto-domini che voglio condividere sessione tra
Creare un semplice servizio Web o gestore generico in ASP.net che restituisce la sessione dell'utente serializzata in JSON o XML.
Se si utilizza un gestore generico, ricordare di utilizzare le interfacce IReadOnlySessionState o IRequiresSessionState sulla classe.
Ora da extra.miodominio.tld è possibile chiamare il gestore o il servizio www.mydomain.tld/[Get/Set] SessionValue. Raccoglierà il tuo cookie ".mydomain.tld" e consentirà la condivisione di valori di modifica.
Mi piacerebbe sapere dove vorresti inserire questa logica per asp.net mvc? Vuoi inserire alcuni moduli IIS? – Dave
mi sento di raccomandare l'approccio seguito utilizzando un database condiviso (potrebbe essere una cache condivisa o qualsiasi altro datastore):
- Quando un utente accede a una delle vostre applicazioni al vostro dominio, si crea un cookie con il chiave "_shared_session" e con il valore di una stringa casuale generata dall'applicazione;
- Salvare il valore di questo cookie nel database e collegarlo a un oggetto JSON contenente i dati che si desidera condividere tra le applicazioni;
- Quando l'utente accede all'altra applicazione, si verifica se il cookie con la chiave "_shared_session" esiste e ne legge il valore;
- Con il valore del cookie, è possibile recuperare l'oggetto JSON condiviso.
risposta rapida:ci dovrebbe essere un filtro che cerca un cookie condiviso prima di creare una nuova sessione
- 1. Scadenza sessione MVC ASP.NET
- 2. asp.net timeout sessione mvc
- 3. È possibile condividere una masterpage tra MVC e webform?
- 4. Fine sessione in ASP.net MVC
- 5. È possibile condividere i dati tra due app angularjs?
- 6. E 'possibile condividere i dati dell'applicazione su google drive
- 7. È possibile personalizzare il timeout della sessione per i ruoli in ASP.NET MVC 5
- 8. Dati complessi persistenti tra i postback in ASP.NET MVC
- 9. come posso condividere una sessione di asp.net tra http e https
- 10. È possibile condividere dati con thread senza clonazione?
- 11. Pass dati $ http.post Da AngularJS e ASP.net MVC diventa nullo
- 12. Quando è possibile, posso accedere alla SESSIONE nel ciclo di vita della pagina ASP.NET MVC?
- 13. ASP.NET MVC, viste parziali e dati
- 14. ASP.NET MVC - Come accedere ai dati di sessione in luoghi diversi controller e viste
- 15. Dati di acquisizione da Python da un'applicazione asp.net AJAX
- 16. Impossibile scrivere i dati di sessione (file)
- 17. possibile condividere viste su più progetti mvc 3
- 18. Asp.Net MVC + CSLA + DDD Possibile
- 19. Sessione stato server ASP.NET e sessione InProc
- 20. ASp.NET MVC - È possibile semplificare la mia architettura?
- 21. ASP.NET MVC: Restituzione di grandi quantità di dati da FileResult
- 22. Timeout sessione ASP.NET MVC, assoluto o scorrevole?
- 23. condividere le informazioni sulla sessione con laravel e ritorno
- 24. egl - È possibile condividere il contesto tra i thread
- 25. Condividere i dati tra i taccuini IPython
- 26. Specificando sola lettura sessione in ASP.NET MVC
- 27. ASP.NET MVC e AJAX
- 28. È possibile condividere lo stesso MVC tra jar esterni e War in ambiente Servlet 3.0?
- 29. Autenticazione personalizzata e ASP.NET MVC
- 30. Condividere i cookie tra il progetto ASP.NET MVC e il progetto API Web
sì che era quello che avevo in mente anche. In realtà ero più interessato ad un esempio più pratico in quanto il mio vero problema è quello di condividere i dati che IIS/ASP.NET crea sotto il cofano (authentification/session per inst). Sarà necessario creare un modulo per inst ... – Dave
Un modo migliore per condividere l'autenticazione è usando Oauth 2. Google, Facebook, Twitter e molte aziende Internet fanno così. Dovresti implementare un provider oauth. – barbolo