begin process at 2012 05 28 07:49:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

Autre

 > 

url routing


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

url routing

vendredi 20 août 2010 à 22:10:04 | url routing

hudon77

Bonjour à tous!

J'aimerais donner un url unique a chacun de mes usagers pour qu'ils accèdes à leur espace personnel.

monsite.com/nicolas

J'aimerais savoir quel approche utilisé.
j'ai testé avec le url rewrite mais ca ne repond pas a mes attente.

Le tout doit fonctionner sous IIS 6 et le framework 3.5


Merci beaucoup


Nicolas!
samedi 21 août 2010 à 10:09:27 | Re : url routing

Mayzz

Membre Club
Salut,

Tu peux utiliser les QueryString :

Par exemple il suffit de créer une page dans le répertoire voulue

http://www.monsite.com/users/user.aspx

En suite, il faut ajouter la requête en fin de page.

http://www.monsite.com/users/user.aspx?user=nicolas

Dans le code behind de ta page aspx, il suffit en suite de mettre le code suivant:

Code Visual Basic :
Dim MyUser As String = Request.QueryString("user")


Code C# :
string MyUser = Request.QueryString("user");


Pour récupérer le nom de l'utilisateur dans une variable, il te reste plus en suite qu'a faire une requête dans ta base de données pour récupérer les infos et les afficher. Il faut aussi, bien penser à contrôler si l'utilisateur logué correspond à la page sinon moi aussi en saisissant l'adresse, je pourrais avoir accès aux infos de tes utilisateurs.

@+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
lundi 23 août 2010 à 14:48:23 | Re : url routing

hudon77



Merci pour la réponse mais c'est justement ce que nous voulons éviter! Il nous faut absolument un url facile à distribuer.
Nicolas!
lundi 23 août 2010 à 15:50:51 | Re : url routing

Mayzz

Membre Club
OK, je vois ^^

C'est tout à fait possible, par exemple ce forum crée une page par topique et n'utilise pas de QueryString (Surement pour le référencement d'ailleurs).

Donc le mieux que tu puisses faire, c'est de créer une page nommé Default.aspx avec les champs relatifs aux infos de l'espace utilisateur, une fois ceci fait, lors de la création d'un compte il faudra :

Créer dynamiquement un nouveau dossier avec le nom d'utilisateur (Attention, lors de la création du compte, bien refuser tous les noms d'utilisateurs qui ne respectent pas les conventions du système de fichier).

Copier la page 'Default.aspx' Dans le répertoire nouvellement créé.

Par la suite cette page devra décomposer l'url et retrouver son répertoire parent qui correspond au nom de l'utilisateur au chargement.
Elle devra effectuer une requête vers la base de données pour aller y chercher des infos. (Si c'est une page qui doit être visible que par l'utilisateur concerné, vérifier si le nom d'utilisateur correspond à celui de la personne logué).

Voila en gros, ca fait pas mal de boulot, mais de cette façon c'est jouable.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
jeudi 26 août 2010 à 13:53:44 | Re : url routing

Nurgle

Membre Club Administrateur CodeS-SourceS
Bonjour,

Mayzz, ce n'est pas du tout la bonne façon de faire, en fait c'est même la pire : elle viole la 1ère règle de sécurité d'une application ASP.NET, Pas de création dynamique de page au sein d'une même application.

Il y a une méthode beaucoup plus simple et universellement utilisée, appelée URL Rewriting.
C'est ce qui est utilisé sur CodeS-SourceS par exemple.
Le concept est simple :
1. Le site utilise des adresses "simples" vers des pages qui en réalité n'existent pas, ex. www.monsite.com/users/nurgle ou forum.monsite.com/sujet-URL-ROUTING_1462588.aspx

2. Quand une de ces pages est demandé, le moteur ASP.NET les renvoie vers un HttpHandler qui doit gérer cette requête. (soit le handler standard d'ASP.NET, soit un custom)

3. Le Handler convertit l'url avant que la requête ne soit traitée, par exemple avec des Regular Expressions, en la vrai url, ex. www.monsite.com/users.aspx?user=nurgle ou forum.monsite.com/sujet.aspx?id=1462588, et ensuite la requête est traitée normalement.

4. Le navigateur ne voit pas la différence.

Quelques liens instructifs :
Tapez le texte de l'url ici.
Tapez le texte de l'url ici. [en] (la partie sur IIS n'est plus à jour vis à vis de IIS 7)

A+
Nurgle
jeudi 26 août 2010 à 13:56:55 | Re : url routing

Nurgle

Membre Club Administrateur CodeS-SourceS
Arf désolé, petit échec avec la description des liens, mais les liens sont bons.
jeudi 26 août 2010 à 15:20:43 | Re : url routing

Mayzz

Membre Club
Désolé, d'avoir dit des bêtises, je n'utilise pas ce principe, en fait c'était plus une idée qu'une méthode, jamais testé d'ailleurs, je ne pensait même pas que cela provoquerai un problème de sécurité.

En tous cas merci pour ces infos, qui vont m'être utile aussi =)

J'ai juste une petite question: sur C-S, à quoi sert-il d'avoir mis en place ce système?

Merci.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
jeudi 26 août 2010 à 16:30:28 | Re : url routing

Nurgle

Membre Club Administrateur CodeS-SourceS
Cela sert principalement au référencement, c'est l'avantage principal : on peut mettre des données dynamiques complexes dans l'URL, comme par exemple le sujet d'un article/post/...
C'est beaucoup plus parlant qu'un nom de page fixe suivi d'une série de chiffres, pour le référencement comme pour les visiteurs.

Accessoirement, si un jour tu refais ton site, tu changes de technologie, tu changes le nom d'une page, etc. c'est transparent pour l'utilisateur comme pour les moteurs : ils ne voient que les URLs "propres".
Du coup, pas de liens brisés.

Bref ça tous les avantages.

Bonne journée,
Nurgle (Antoine)
jeudi 26 août 2010 à 16:58:19 | Re : url routing

Mayzz

Membre Club
Merci bien pour toutes ces infos, cela répond justement à toutes les questions que je me posais, sans vraiment avoir pris le temps de rechercher les réponse, mais tôt ou tard j'aurais du y passer !

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
mardi 31 août 2010 à 17:24:18 | Re : url routing

hudon77


J'ai déjà fait quelque test avec le url rewriting et j'avais du mal a le faire fonctionner avec des url sans extension du genre monsite.com/nicolas

de plus j'avais des problème d'url lors de postback... ya t'il d'autre solutions ?

Nicolas!


Cette discussion est classée dans : url, nicolas, routing


Répondre à ce message

Sujets en rapport avec ce message

hebergement asp [ par Jean Luc ] bonjourJuste ce petit mot pour vous annoncer que nous spécialisés dans l'hébergement ASP , notre premiere offre commence à 30 francs / mois . à partir stopper le chargement [ par fabiin ] Salut !comment faut t'il faire pour arrêter le chargement d'une page.par exemple ds une condition if, si elle est vrai ben ca n'execute pas la suite d Validation d'url [ par crambert ] Bonjour , existe t-il un moyen de valider un url, par exemple une requète qui me retournerait faux si l'url n'est plus actif. URL distante [ par Ondex ] Salut a tous,quelqu'un connait t'il le moyen de se connecter a ue URL distante sans utiliser de composant.si par exemple je veux recuperer la page htt base de donnée sur kilio [ par fabiin ] Salut !voila:g une base de donnée access sur mon site perso(pub:vague sonore) je voulais savoir si il était possible de pouvoi Générer un .CHM dynamiquement !! [ par :: pi0up51 :: ] lu all,J'aurais aimer savoir (si c possible :) comment faire pour générer un fichier CHM à partir d'une page ASP !! :) ??On peut faire qqch comme ça v parametre d'url persistants [ par bintje ] Slt !j'ai un pb avec les parametre d'url transmis par ultradev : comment faire pour que suite à une commande "insert into", le retour sur , par exempl cacher les variables passées par l'url [ par vv ] bonjour,une question de débutante:Comment faire pour passer mes variables sans voir ces sampiternelles suites de "?t=1&tut=8&plou=yyenamarre"...ectEst problème d'upload [ par nico ] Bonjour,J'ai téléchargé le code pour l'upload ss composant sur le site (à l'adresse suivante : http://www.aspfr.com/article.asp?Val=119#) , mais lorsq URL unique de mon site web [ par Patrick ] Bonjour, je souhaiterais que les pages asp de mon site ne soient pas visible dans dans la zone URL.Par exemple si j'ai http://www.monsite.fr/accueil.a


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales