Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Richard Clark

J'aime pas les blogs mais comme j'aime le mouton...

Actualités

  • c2i.fr
ASP .NET Membership: BEWARE

Vous le savez peut être, ASP .NET v2.0 propose un système d'identification, autorisation, etc. intégré. Il génère automatiquement une base de donnée SQL Server 2005 pour cela (il existe même des scripts pour utiliser SQL Server 2000).

Cette base de données contient des tables comme aspnet_Membership, aspnet_Profile, etc.

Donc sans écrire la moindre ligne de code, vous pouvez identifier, autoriser, etc. des utilisateurs de votre site.

En plus, si vous avez besoin d'ajouter des données spécifiques pour vos users, c'est super simple et s'effectue via le fichier de config.

Au hasard, imaginons un site web ou vous voulez stocker comme information spécifique pour vos users le nom de leur école et de leur pays. Dans le fichier de config, ajouter les lignes suivantes :

profile>
     properties>
          add name="school" type="string" />
          add name="country" type="string"/>
     properties>
profile>

Et via GetPropertyValues, vous pouvez facilement obtenir ces informations.

MAIS ATTENTION, BEWARE, FAITES GAFFE: ces infos, elles sont stockées dans un champ de la base de données, dans un seul champ. C'est une sorte de pôt pourri.

Donc pour obtenir ces infos, il faut effectuer un certain travail. Effectuer des requêtes directement sur ces données est pratiquement impossible.

DONC, ne placez pas des données critiques dedans, créez votre propre provider dans ce cas.

Je ne sais pas pourquoi je dis ca aujourd'hui moi ;-)))

 

 

 

 

 

 

 

 

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 20 décembre 2005 07:16 par richardc

Commentaires

azra a dit :

Richard, tu n'es pas le seul à te demander pourquoi... ;)

Pour obtenir ces informations, rien de plus simple ! Une classe Profile fortement typée sur le schéma du noeud Profile est automatiquement créée...
Il n'y a plus qu'à l'utiliser.

Profile.school ="école primaire";
Profile.country="France";
string MyCountry=Profile.country;

c'est çà que tu appelles GetPropertyValues ?

Maintenant, je suis d'accord avec toi sur le fait qu'il ne faut pas y metttre des données critiques dedans.
Si en effet tu fait évoluer le schéma du Profile, il se peut sous certaines conditions(çà m'est arrivé en tous cas dans les versions Beta ou CTP) que le système n'arrive pas à désérialiser correctement le champ blob qui contient tout ce petit monde, et que par conséquent il soit réinitialisé.

Daniel
# décembre 20, 2005 09:37

daniel a dit :

heuu, j'ai pas l'habitude de faire de l'usurpation d'identité, ni de kfter,... mais Florent a squaté un poste Internet en libre service en cochant "se souvenir de moi"...d'où la double signature...

Daniel :)
# décembre 20, 2005 09:47

azra a dit :

Ah ben j'étais le seul bloggeur au boulot avant aussi :P

Sinon en direct du blog de ScottGu, parmis les nouveautés à venir (aujourd'hui):

- Profile Provider for Database Tables: A cool project we are looking to release is a custom Profile provider that allows you to directly map the new ASP.NET 2.0 Profile object to a database table or view. This will make it really easy to take existing database schemas of information and surface them through the profile system.

C'est completement dans le contexte :)
# décembre 20, 2005 10:08

richardc a dit :

Ce que je voulais dire, c'est que faire des requêtes dessus est impossible. Par exemple :

SELECT Count(UserID) FROM Users WHERE Country = "USA"

n'est pas possible.
# décembre 20, 2005 10:36
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Fun] Votre simulateur de vol avec Microsoft ESP par Julien Chable le il y a 2 heures et 41 minutes

- [Best Practices] Customisation du My Site : Comment le modifier en amont et en aval par The Mit's Blog le il y a 3 heures et 55 minutes

- Patrick Tisseghem s'en est allé ... par The Mit's Blog le il y a 4 heures et 39 minutes

- MS AutoCollage par alex# le il y a 5 heures et 24 minutes

- Un grand SharePointeur nous a quitte : Patrick Tisseghem manquera à la communauté ! par RedoBlog - The .NET Gentleman !!! le il y a 5 heures et 50 minutes

- [WPF] Comment charger dynamiquement un fichier XAML qui définit des eventhandler ? par Thomas Lebrun le 09-04-2008, 10:56

- Article sur le filtrage des modèles de site SharePoint par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 09-04-2008, 00:11

- Adopter votre Redo en 3D - Clone Virtuel - avec photosynth par RedoBlog - The .NET Gentleman !!! le 09-04-2008, 00:07

- [Expression Web] Astuce de la Semaine : Mettre en bouton ses macros dans une barre d'outils. par Expression Web & Me le 09-03-2008, 20:48

- [.Net] Présentation du Client Profile par Elise's blog le 09-03-2008, 12:28