2009-11-16 4 views
1


Profil et applicationName

1) Y at-il une raison pour laquelle la table aspnet_Profile ne pas colonne ApplicationId, tandis que les tableaux aspnet_Membership et aspnet_Roles ne définissent colonnes applicationId?


2) Si nous créons un profil pour l'utilisateur en cours, puis changer nomApplication de notre fournisseur de profil, profil, puis pour un même utilisateur ne pouvait être lu plus. Il semble donc que le fournisseur de profil sait d'une manière ou d'une autre que l'entrée de table pour cet utilisateur a été faite avant que l'applicationName ait été changée?

Mais comment est-ce possible puisque aspnet_Profile ne contient pas de colonne ApplicationID?


Merci


EDIT:

2) Je ne vois pas comment changer le nom de l'application d'un fournisseur de profil - il n'est pas un attribut d'une entrée de fournisseur dans la section de profil. Il est un attribut d'un fournisseur dans la section des membres, ce qui est logique


Je suis en mesure de préciser applicationName attribut, donc je dois supposer fournisseur de profil ne l'utiliser d'une certaine façon:

<profile defaultProvider="defaultP"> 
    <providers> 
     <add name="defaultP" 
      connectionStringName="connect" 
      applicationName="_someName" 


Répondre

2

1) en regardant les tables de base de données pour le système de sécurité aspnet, un record de profil est lié à un utilisateur, et un utilisateur est lié à une application. Comme tous les profils sont liés aux utilisateurs, le profil lui-même n'a pas besoin de spécifier explicitement une application (ceci est impliqué par l'application de l'utilisateur).

2) Je ne vois pas comment modifier le nom de l'application d'un fournisseur de profils - ce n'est pas un attribut d'une entrée de fournisseur dans la section de profil. C'est un attribut d'un fournisseur dans la section d'adhésion, ce qui est logique.

+0

J'ai modifié mon message original en réponse à votre réponse – PrgGnt

+2

Mon erreur. Apparemment, ça existe. Intellisense dans VS 2008 ne l'a pas répertorié comme une option, ou je rêvais de choses plus fines et ne l'ai pas remarqué. Off-hand, je peux seulement deviner que l'attribut applicationName est sur un fournisseur de profil au cas où vous ne spécifiez pas un fournisseur d'appartenance. Une recherche rapide de certains documents Microsoft n'a révélé aucune information sur la raison pour laquelle ApplicationName du fournisseur de profils existe ou pourrait entrer en conflit avec les paramètres du fournisseur de l'appartenance. –

+1

Cette page Web (http://msdn.microsoft.com/en-us/library/aa479025.aspx) indique que la propriété applicationName sur le fournisseur de profil aide à distinguer les noms d'utilisateur (pas ids) qui peuvent être égaux, mais dans différentes "portées", et ont donc besoin de profils différents. –

Questions connexes