80 votes

Pourquoi <deny users="?" /> inclus dans l'exemple suivant?

(?) générique représente les utilisateurs non authentifiés while (*) représente l'ensemble des utilisateurs authentifiés et non authentifié. Mon livre montre l'exemple suivant de l'autorisation d'URL:

<authorization>
  <deny users="?" />
  <allow users="dan,matthew" />
  <deny users="*" />
</authorization>


Mais ne pas le code ci-dessus ont le même effet que :

<authorization>
  <allow users="dan,matthew" />
  <deny users="*" />
</authorization>

ou est ce que l'auteur également inclure <deny users="?" /> règle pour une raison?

98voto

Cyberherbalist Points 4564

ASP.NET bourses d'accès du fichier de configuration comme une question de préséance. Dans le cas d'un conflit potentiel, la première survenant accorder la priorité. Donc,

deny user="?" 

refuse l'accès de l'utilisateur anonyme. Alors

allow users="dan,matthew" 

accorde l'accès à cet utilisateur. Enfin, il refuse l'accès à tout le monde. Cette secoue comme tout le monde, sauf dan,matthieu est vu refuser l'accès.

Edité pour ajouter: et comme @Déviants souligne, en niant l'accès non authentifié est inutile, depuis la dernière entrée comprend non authentifié en tant que bien. Une bonne entrée de blog discuter de ce sujet peut être trouvé à: Guru Sarkar Blog

43voto

Chad Grant Points 16571

"Au moment de l'exécution, le module d'autorisation parcourt l'autoriser et refuser éléments, en commençant par le plus fichier de configuration local, jusqu'à ce que le module d'autorisation trouve la première règle d'accès qui correspond à un compte utilisateur particulier. Ensuite, le module d'autorisation accorde ou refuse l'accès à une URL de la ressource selon que la première règle est de permettre ou de refuser la règle. Le défaut d'autorisation de règle . Ainsi, par défaut, l'accès est autorisé, sauf si configuré autrement."

http://msdn.microsoft.com/en-us/library/8aeskccd.aspx

deny = * means deny everyone
deny = ? means deny unauthenticated users

Dans votre 1er exemple refuser * n'affectera pas dan, matthieu, car ils étaient déjà autorisées par la règle précédente.

Selon les docs, n'est pas une différence dans votre 2 ensembles de règles.

4voto

Michael Kniskern Points 7276

Exemple 1 est pour asp.net applications à l'aide de formes authenication. C'est une pratique courante pour les applications internet parce que l'utilisateur est authentifié, jusqu'à ce qu'il est authentcation à l'encontre de certaines module de sécurité.

L'exemple 2 est pour asp.net application à l'aide de windows authenication. L'Authentification Windows utilise Active Directory pour authentifier les utilisateurs. La volonté d'empêcher l'accès à votre application. J'utilise cette fonction sur les applications intranet.

-1voto

M.R Points 236

Voir ces deux liens:

refuser l'Élément d'autorisation (ASP.NET Schéma des Paramètres) http://msdn.microsoft.com/en-us/library/vstudio/8aeskccd%28v=vs.100%29.aspx

permettre à l'Élément d'autorisation (ASP.NET Schéma des Paramètres): http://msdn.microsoft.com/en-us/library/vstudio/acsd09b0%28v=vs.100%29.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X