2010-06-21 3 views
3

Je souhaite ajouter des colonnes personnalisées à certaines tables créées par ASP.NET. Par exemple; J'ai besoin d'ajouter deux champs tels que FirstName et LastName à la table aspnet_Membership.Comment personnaliser les tables de base de données Membership créées par ASP.NET?

Je peux ajouter cela directement en éditant la table mais;

  1. Est-ce la bonne chose à faire (je veux dire, étendre la table directement) ou devrais-je créer une table séparée et contenir les données utilisateur supplémentaires, il? Comment puis-je voir ces champs de base de données personnalisés comme des propriétés dans l'achèvement du code? exemple: membershipuser.FirstName;

merci.

Répondre

3

Vous utilisez généralement profiles pour stocker les métadonnées relatives à l'utilisateur. Cela nécessite uniquement une configuration simple et aucune implémentation de fournisseur personnalisée.

Vous ne devriez envisager l'implémentation personnalisée des fournisseurs liés à la sécurité testés au combat que lorsque vous en avez absolument besoin.

here is a link à un bel exemple d'implémentation de profils dans asp.net.

+0

Merci. Cela semble être le chemin à parcourir. Je ne pouvais pas voter bec. de points de réputation insuffisants. –

+0

@rad - pas de problème. heureux d'avoir pu aider. cognez-le plus tard si vous le souhaitez. –

0

créez un fournisseur d'adhésion personnalisé! Cela vous donnera l'idée de base. juste prolonger la asp.net MembershipProvider

existant http://www.davidhayden.com/blog/dave/archive/2007/10/11/CreateCustomMembershipProviderASPNETWebsiteSecurity.aspx

vous pouvez aussi aller avec le kit de démarrage fournisseur d'appartenances si votre application est MVC'ish à CodePlex

http://mvcmembership.codeplex.com/

+0

ajouter de la complexité inutile et les maux de tête qui vont avec est tout simplement un mauvais conseil quand il y a déjà une solution dans la boîte. –

-1

Je vous recommande de créer un fournisseur d'appartenances personnalisé si votre application nécessite des fonctionnalités qui vont au-delà des bases fournies par le fournisseur d'appartenance ASP.NET.

+0

ajouter de la complexité inutile et les maux de tête qui vont avec est tout simplement un mauvais conseil quand il y a déjà une solution dans la boîte. –

1

Il existe une bibliothèque sympa qui vous fournit des informations personnalisées sur les membres et les profils.

http://altairiswebsecurity.codeplex.com/wikipage?title=Simple%20SQL%20Providers&referringTitle=Home

+0

Bien que je ne recommanderais pas d'aller aussi loin que de remplacer complètement les fournisseurs d'aspnet pour quelque chose d'aussi simple que d'associer un couple meta champs à un utilisateur, cette bibliothèque peut convenir. Il est difficile de dire, il n'y a pas de tests dans la source qui me rendraient assez difficile à utiliser pour sécuriser quoi que ce soit. mais votre kilométrage peut varier. –

Questions connexes