Bonjour,

Il s'agit d'un projet de site Internet. J'y utilise le MemberShip fournit avec le framework asp.NET. J'ai deux Base de données (SQL 2008), une pour le MemeberShip et une pour mon application.
Pour filtrer les enregistrements (de la base de données de mon application) en fonction de l'utilisateur connecté, je procède actuellement de la manière suivante :
Extrait d'une page *.aspx.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
string User_id = MemeberShip.GetUser().ProviderUserKey.ToString();
 
/* Puis utilisation de User_id comme paramètre dans mes requêtes pour filtrer les enregistrements. */
Dans ce cas on constate que MemeberShip.GetUser() doit faire une requête vers la base de données gérant le memeberShip avant chaque fois que je fasse mes requêtes (avec mon paramètre User_id).

De ce fait j'ai pensé à la solution suivante :

Extrait de ma page *.master
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
If(Session["User_id"] == null)
{
  Session["User_id"] = MemeberShip.GetUser().ProviderUserKey.ToString();
}
Extrait d'une page *.aspx.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
string User_id = Session["User_id"].ToString();
 
/* Puis utilisation de User_id comme paramètre dans mes requêtes pour filtrer les enregistrements. */
Les questions qui me viennent alors sont :
Est-ce que cette méthode est risquée en terme de sécurité?
Est-il possible d'altérer une Session (par un utilisateur malveillant)?
Est-ce que une de ces solutions est viable? Si non, que proposez vous?

Merci d'avance