Par exemple: Si je récupère l'utilisateur.Identifity.name, provient-il de la cookie .aspxauth ou est extrait de la base de données à l'aide de mon fournisseur de membres? P>
sont des demandes de base de données effectuées lorsque j'accède à l'utilisateur à l'utilisateur? P>
Merci. P>
edit: strong> en ce moment je suis à peu près sûr que cela provient d'un billet d'authentification, mais je ne trouve aucune documentation officielle pour confirmer cela. Quiconque? P>
4 Réponses :
.aspxauth Cookie / utilisateur.Identifity provient de l'authentification (Windows, Formulaires).
Si vous essayez d'obtenir l'utilisateur à l'adhésion, vous devez utiliser P>
Membership.GetUser(User.Identity.Name )
Je comprends que cela provient de l'authentification. Cependant, lorsque j'appelle User.Identity.name - Où est la valeur extraite de? Cookies ou dB ou session?
Les cookies n'existent que après l'authentification ... alors ... tout se charge sur votre système d'authentification
Je pense que les informations d'authentification sont spécifiques à une session et entretenues dans le processus ASP.NET ou à l'extérieur ou même SQL Server. Une fois qu'un utilisateur est authentifié, un jeton de session est généré, le jeton est utilisé pour suivre les informations de l'utilisateur authentifié dans le service d'État. Sur les demandes suivantes, le jeton de la session est utilisé pour récupérer l'identité de l'utilisateur et celui où nous obtenons des objets pré-peuplés tels que l'utilisateur.Identifity.name. Cela doit être implémenté dans le module d'authentification des formulaires ou le module d'authentification Windows en fonction du type d'authentification que l'utilise. Si vous définissez au mode d'authentification de la Cookieless, le jeton de la session est affiché dans l'URL. Une fois la session expirée, toutes les informations relatives à la session sont supprimées du service d'État. P>
J'espère que cela le rend clair! p>
Même si c'est une réponse acceptée, cela ne répond pas vraiment à ma question.
J'ai été forcé depuis la question de la question de la prime.
Cela dépend du type de session que vous utilisez. Les sessions peuvent être modifiées en utilisant deux paramètres 1. Utilisation des cookies-Cookieless ou utilisez un cookie 2. Processus pour stocker les informations sur l'état de la session -InProc (en cours), OutProC (ASP.NET State Service) ou SQL Server. P>
Si vous utilisez SQL Server pour stocker les informations de l'état, une requête de base de données sera certainement effectuée pour récupérer les données de session. Plus de détails ici - P>
http://www.codeproject.com/kb/aspnet/exploringsession.aspx p>
Cela devrait répondre à votre question ... P>
"Le billet d'authentification des formulaires inclut non seulement l'identité de l'utilisateur, mais contient également des informations permettant d'assurer l'intégrité et la sécurité du jeton." Extrait de l'article Microsoft suivant: P>
En plus de cette explication, l'observation du comportement ASP.NET soutient également la conclusion que le nom d'utilisateur est, en fait, stocké dans l'ASPXauthe Cookie: ASP.NET n'apporte pas la base de données sur les demandes de page suivantes après l'authentification de l'authentification de l'utilisateur. . Vous pouvez le prouver vous-même, comme je l'ai fait, en exécutant SQL Profiler pour surveiller la base de données car elle est utilisée par une application ASP.NET. P>
Sachez également que les données de billet d'utilisateur et d'authentification ne sont pas stockées dans l'état de la session. En plus d'augmenter les préoccupations de sécurité, ce type de mise en œuvre provoquerait la rupture de l'adhésion ASP.NET lorsque l'état de la session est désactivé. Voici une autre réponse de dépassement de pile indiquant que les formulaires d'authentification (adhésion) Les données et l'État de session n'ont rien à voir les uns avec les autres: P>
Formultiathentication.setauthohcookie () faire une session Cookie basé? P>
Cette réponse concerne également des liens vers un article MSDN, ici , qui explique le cookie Aspxauth en détail, bien que l'article que j'ai référencé ci-dessus semble être plus courant. P>