2010-11-22 9 views
5

Utilizzo del plugin Uploadify che utilizza jQuery e SWF. Alcuni server web funziona, altri no. Sembra ottenere un HTTP 401 non autorizzato quando si tenta di caricare. Potrebbe essere correlato al SWF. In Fiddler, quando non funziona, sembra ottenere questo supporto proxy: Autenticazione basata sulla sessione, ma quando funziona, non otteniamo l'autenticazione basata sulla sessione. Si tratta di un problema di routing di rete? Problema del proxy? Qualche suggerimento su fixProblemi di Uploadify e HTTP 401. Perché non funziona in modo coerente?

HTTP/1.1 401 Unauthorized 
Date: Mon, 22 Nov 2010 22:20:45 GMT 
Server: Microsoft-IIS/6.0 
WWW-Authenticate: Negotiate 
WWW-Authenticate: NTLM 
X-Powered-By: ASP.NET 
X-AspNet-Version: 2.0.50727 
Cache-Control: private 
Content-Type: text/html; charset=utf-8 
Content-Length: 1697 

Proxy-Support: Session-Based-Authentication

+0

Sembra che la soluzione migliore sia non utilizzare Uploadify, bello come un'interfaccia così com'è. Ma se non ci sono flash, perdiamo la possibilità di caricare più file alla volta. Qualsiasi altro plugin jQuery non SWF che chiunque può consigliare? – Shane

risposta

6

A tutti coloro che desiderano utilizzare il plug-in Uploadify con l'autenticazione di Windows. Non farlo Non solo Uploadify, ma chiunque utilizzi file Flash. Prova invece un altro plug-in. Abbiamo usato questo e ha funzionato semplicemente bene, senza problemi. Non usa alcun Flash.

http://valums.com/ajax-upload/

3

Uploadify utilizza Flash per il caricamento. Penso che il problema qui sia correlato a un bug in Flash che fa sì che Uploadify usi una sessione separata. Anche se la sessione dell'utente è autorizzata a caricare, tale autorizzazione non viene estesa alla sessione Uploadify.

Una soluzione a questo problema è creare un'autenticazione personalizzata per il caricamento. Potresti prendere in considerazione l'emissione di una sorta di token di accesso all'utente che può essere passato come parametro a Uploadify e trasmesso durante il caricamento dei file.

+1

Sono d'accordo con il paragrafo 1, ma sono fortemente in disaccordo con il paragrafo 2 :) Di solito, passare manualmente l'ID di sessione a destra nelle opzioni dell'uploader è sufficiente. (Will upvote quando ho ancora voti) –

+0

Quindi, come ho capito, il problema è un bug nei file SWF che non sempre portano correttamente le intestazioni di autenticazione, quindi potresti creare una pagina aspx che restituisca il tipo di contenuto di shockwave flash e fai una Response.BinaryWrite per ottenere il file. Forse sarebbe andato in giro. Non sono sicuro. – Shane

+0

@Pekka: Sembra una buona soluzione. Il mio primo tentativo quando mi sono imbattuto in questo problema riguardava il passaggio lungo l'ID della sessione e lo scambio della sessione effettiva di Uploadify prima che la richiesta venisse elaborata. Tuttavia, ha sollevato un paio di altri problemi, quindi ho finito per salvare l'ID sessione dell'utente nel database come "token" e trasmetterlo insieme alla richiesta Uploadify. –

1

mi sono imbattuto in questa edizione di recente.

Nel mio caso stavo usando IIS con l'autenticazione di Windows abilitata (nessun accesso anonimo). Ciò impediva a Flash di caricare file perché eseguiva il processo di caricamento come sessione separata non autenticata. Per risolvere ho permesso l'accesso anonimo solo sui file del gestore e il caricamento adesso funziona alla grande.

+0

Potete per favore elaborare e darmi i passaggi? Sto avendo lo stesso problema. –

Problemi correlati