J'ai une application ASP.NET 3.5 que j'ai récemment étendue avec plusieurs fournisseurs de rôles et d'appartenances pour "attacher" une deuxième application au sein de cette application. Je n'ai pas d'accès direct à la configuration IIS, donc je ne peux pas la décomposer dans un répertoire d'application séparé. Cela dit, j'ai séparé avec succès les connexions; Cependant, après que je me connecte, je suis capable de vérifier les groupes auxquels l'utilisateur appartient à travers des routines de rôles personnalisées, et je suis capable d'avoir des noms d'utilisateur identiques avec des mots de passe différents pour les deux "applications". Le problème que je rencontre est quand je crée un utilisateur avec un nom d'utilisateur identique à l'autre adhésion (qui utilise les rôles web.config sur les répertoires), je suis en mesure de passer les URL manuellement à l'autre application, et il récupère le nom d'utilisateur et charge les rôles pour cette application. Évidemment, c'est mauvais, car il permet à un utilisateur de créer un nom d'utilisateur de quelqu'un qui a accès à l'autre application, et de traverser dans l'autre application avec les rôles de l'autre utilisateur.ASP.NET 3.5 Fournisseurs de rôles multiples
Comment puis-je atténuer cela? Si je suis limité à une application avec laquelle travailler, avec plusieurs fournisseurs de rôles et d'appartenances, et que le cookie d'authentification stocke le nom d'utilisateur qui est apparemment transférable, y a-t-il quelque chose que je puisse faire?
Je me rends compte que la situation n'est pas idéale, mais ce sont les limitations imposées pour le moment.
Exemple d'authentification (lors de la validation):
FormsAuthentication.SetAuthCookie(usr.UserName, false);
Ce cookie doit être basé sur le jeton d'utilisateur Je soupçonne plutôt que UserName afin de séparer les deux fournisseurs? Est-ce possible?
Oui, ils sont séparés par le nom de l'application. Il existe deux fournisseurs de rôles avec des noms d'application différents et deux fournisseurs d'appartenances avec des noms d'application différents (le rôle correspondant à l'adhésion, bien sûr). – Dudeinco