Comment définir l'en-tête d'autorisation sous forme HTML de la méthode GET
P粉617237727
2023-08-31 12:21:27
<p>Je souhaite soumettre un formulaire HTML à un serveur qui accepte les données du formulaire dans <code>queryString</code> avec l'en-tête d'autorisation. Le serveur renvoie ensuite le document HTML après avoir effectué quelques calculs sur les en-têtes de données et d'autorisation. </p>
<h1>Restrictions</h1>
<ol>
<li>Je ne peux pas utiliser les fonctionnalités JavaScript comme AJAX ou récupérer, car la soumission du formulaire reçoit une réponse HTML qui doit être ouverte sur le navigateur. ≪/li>
<li>Pour des raisons internes, le formulaire nécessite également la méthode <code>GET</code> ≪/li>
</ol>
<h1>Réponse</h1>
<p>La réponse reçue est un document HTML contenant du JavaScript contenant <code>sessionStorage.setItem('data', 'value')</code> qui s'applique uniquement à la source. Le formulaire existe dans la source <em>parent.example.com</em> et le document HTML reçu se trouve dans la source <em>child.example.com</em> Il faut donc se rendre sur la page <em>child.example.com</em> comme une redirection de formulaire HTML. </p>
Le code client ne peut pas effectuer cette opération.
Le moyen le plus proche est de faire démarrer le serveur par
401 Unauthorized
状态和WWW-Authenticate: Basic
标头响应请求,这会导致浏览器使用其本机 UI 提示用户输入凭据,并在用户输入凭据后,使用基本身份验证的格式重复请求并添加授权
.Comme Phil l'a mentionné dans les commentaires, il semble que l'URL que vous souhaitez demander n'est en effet pas conçue pour la navigation directe dans le navigateur.
Plutôt que d'essayer de résoudre ce problème, vous feriez peut-être mieux de changer le système d'authentification par autre chose (comme un cookie défini en réponse à la soumission d'un formulaire de connexion traditionnel)