Ho un'applicazione Web MVC4 che utilizza l'autenticazione di Windows, cioè nel web.config ho
<authentication mode="Windows" />
e che funziona bene e tutto è ok.Usa autenticazione anonima in MVC4 sul singolo controllore quando l'intera applicazione utilizza di Windows Authenticaion
Tuttavia ora ho bisogno di un controller (un controller Web API in effetti) a cui si deve accedere in modo anonimo da un componente di terze parti. Il problema è che ogni volta che voglio richiamare questo metodo richiede le credenziali dell'utente.
Ho provato a mettere l'attributo AllowAnonymous
al controller e ai metodi ma non ha avuto esito positivo.
[AllowAnonymous] public bool Get(string Called, string Calling, string CallID, int direction)
ho controllato su entrambi IIS Express e IIS 8 con l'autenticazione anonima e l'autenticazione di Windows attivata.
Sembra che l'autenticazione di Windows preceda qualsiasi altra autenticazione e non possa essere ignorata.
C'è un modo per realizzare questo?
Non credo che questo lavoro per me. Questa impostazione è sovrascritta da ' ' e il sito Web richiede ancora il nome utente e la password per poter accedere. A parte questo, sto utilizzando MVC e tali impostazioni di configurazione in web.config potrebbero non essere sempre d'aiuto a causa del routing. –
Funziona per me. Sto anche usando '' con MVC3. Tuttavia non ho impostato alcuna regola di routing speciale. Potrebbe essere necessario fare confusione con il percorso della posizione. –
Dandogli un secondo tentativo: funziona. Sembra che l'attributo 'AllowAnonymous' non sia sufficiente con l'autenticazione di Windows e il tag 'location' è quello che funziona meglio. Grazie per avermi indicato quale potrebbe essere la soluzione giusta per il problema! –