J'ai une application qui utilise ASP.NET l'Authentification par Formulaires. Pour la plupart, c'est vraiment génial de travailler, mais je vais essayer d'ajouter le support pour une simple API via un .ashx fichier. Je veux que le fichier ashx de disposer en option d'authentification (c'est à dire si vous ne fournissez pas un en-tête d'Authentification, puis il fonctionne de manière anonyme). Mais, selon ce que vous faites, je veux exiger l'authentification sous certaines conditions.
Je pensais que ce serait une simple question de répondre avec le code d'état 401 si l'authentification n'a pas été fourni, mais il semble que les Formes Authentcation module est d'intercepter et de répondre avec une redirection vers la page de connexion à la place. Ce que je veux dire c'est, si mes ProcessRequest
méthode ressemble à ceci:
public void ProcessRequest(HttpContext context)
{
Response.StatusCode = 401;
Response.StatusDescription = "Authentication required";
}
Alors au lieu d'obtenir un code d'erreur 401 sur le client, comme j'attends, je suis effectivement d'obtenir une redirection 302 vers la page de connexion.
Pour nornal le trafic HTTP, je peux voir comment cela pourrait être utile, mais pour mon API page, je veux la 401 à passer par des non modifiée de sorte que le côté client de l'appelant peut répondre par programmation à la place.
Est-il possible de faire cela?