2009-11-11 4 views
4

Y at-il un moyen de ne pas utiliser le <machineKey> et de fournir à la place ma propre clé lors de l'exécution. Essayez de trouver un moyen de lire la clé à partir d'une base de données SQL ou d'un magasin centralisé, par exemple, et de le fournir à FormsAuthentication en quelque sorte.FormsAuthentication avec clé de chiffrement personnalisée

Répondre

0

Cela semble impossible. Je suis passé à Windows Identity Foundation.

1

Vous pouvez placer une section machineKey dans web.config pour votre application. C'est ce que tu veux dire?

+0

pas vraiment, je dois le lire à partir d'un magasin de clés dire une base de données ou tout type de magasin. –

1

Vous pouvez vous connecter à l'événement HttpApplication.Authenticate dans votre fichier global.asax et créer votre propre module d'authentification qui peut utiliser n'importe quelle clé. Jetez un oeil à Mono's FormsAuthenticationModule pour un exemple sur la façon dont FormsAuthenticationTicket et al sont utilisés pour gérer la durée de vie du cookie.

+0

c'est ce que j'ai déjà fait. mais je voulais savoir s'il existe un moyen de réutiliser l'authentification par formulaire et d'y injecter une nouvelle clé. –

+0

Pas que je sache. Il en va de même pour la clé de validation/chiffrement du formulaire. – Gonzalo

+0

Je ne vois pas comment je peux utiliser ma propre clé dans le module auth. Il est impossible de modifier la provenance de la classe FormsAuthentication. FormsAuthentication fournit uniquement des méthodes Encrypt et Decrypt, mais pas de SetKey ou quoi que ce soit. –

Questions connexes