0 votes

Utiliser la clé primaire dans les URL asp.net mvc

Je n'arrête pas d'entendre que je ne devrais pas utiliser de clés primaires dans mon URL asp.net mvc

par exemple: /Utilisateurs/Modifier/1243

quel est le problème ici?

quelle est l'alternative, mettre des noms d'utilisateur? Comme vous voulez qu'ils soient uniques, il semble que la clé primaire soit l'option la plus propre

des pensées?

6voto

Andrew Hare Points 159332

Je ne vois aucun problème à mettre la clé primaire dans l'URL (tout comme les créateurs de Stack Overflow et de nombreux autres sites d'ailleurs). Une chose qui est souvent faite est de fournir la clé primaire et également de fournir un "slug" SEO et convivial pour l'utilisateur qui est un titre lisible par les humains des données auxquelles l'identifiant renvoie.

Si vous avez l'intention d'identifier une ressource (dans votre cas, un compte utilisateur), vous devrez fournir un identifiant unique dans l'URL. Même si vous décidez de ne pas utiliser la clé primaire, vous devez tout de même choisir un identifiant qui ne peut pas changer.

2voto

Bryan Points 405

Un des problèmes liés à l'utilisation de clés primaires (numériques) dans l'URL est qu'une personne (ou un moteur de recherche) pourrait commencer à remplacer le numéro par d'autres numéros pour voir ce que vous avez dans votre base de données. Souvent, cela ne pose pas de problème, mais si ...

  • vous avez une situation où les utilisateurs ne sont censés éditer ou voir que leurs propres données
  • vous avez du contenu dans votre base de données que vous "cachez" en ne le reliant pas sur votre site web
  • etc...

...vous devez vous assurer de vérifier les autorisations dans votre méthode Action pour vous assurer que personne ne voit des données qu'il ne devrait pas voir. Tant que vous effectuez les vérifications d'autorisation appropriées à chaque requête, les clés primaires ne devraient pas poser de problème.

0voto

Bahadir Cambel Points 329

Il pourrait y avoir deux raisons
- Préoccupation pour la sécurité
- Optimisation pour le référencement

insérer les noms d'utilisateur semble être une bonne alternative

0voto

Arthur Points 5474

Je pense que vous devriez conserver cette clé primaire - sinon comment allez-vous identifier votre entité.

Deux points :

  • SEO - il est préférable pour Google & Co de lire du texte. Pourquoi ne pas mettre l'ID + le nom dans l'URL
  • Sécurité : Mais il est impératif de vérifier dans votre BL si l'utilisateur actuel a des droits d'accès à l'entité demandée.

0voto

mletterle Points 2607

Il n'y a pas vraiment de problème à utiliser la clé primaire, surtout si c'est int (les GUID donnent des URL laides).

Une édition est un mauvais exemple, que se passe-t-il si vous avez quelque chose comme

www.example.org/utilisateurs/1234

Cela ne vous dit pas grand-chose. et si c'est une page de profil, c'est vraiment contre-intuitif.

L'URL adéquate pour la bonne tâche.

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