2010-08-10 3 views
1

Auparavant, j'avais implémenté deux applications Web ASP.NET distinctes, une en tant qu'application virtuelle dans un sous-dossier de l'autre, qui partageait avec succès l'authentification des formulaires décrite au http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspxPartage de l'authentification des formulaires entre un site Web et une application Web

(essentiellement, la mise en place des sections <forms> identiques dans le web.config, et les clés dans la section <machineKey>)

maintenant, je suis en train de faire quelque chose de similaire pour obtenir BlogEngine.NET (qui est un site Web, et non une application Web) pour travailler l'authentification des formulaires de partage avec une application Web de la mienne. J'ai essayé à la fois de le mettre comme une application virtuelle dans un sous-dossier, et de le configurer comme un site IIS séparé (même nom de domaine, numéro de port différent), mais je ne peux pas obtenir l'authentification du tout: quand je vais le blog connecté à mon application Web, Page.User.Identity.IsAuthenticated est toujours "faux". Je ne sais vraiment pas comment débuter le débogage, puisque l'authentification des formulaires est gérée avant que mon code ne soit exécuté.

section <authentication> des deux web.configs sont les mêmes:

<authentication mode="Forms"> 
    <forms path="/" domain="localhost" timeout="129600" name=".WebSiteName" 
protection="All" slidingExpiration="true" loginUrl="/admin/login.aspx" 
cookieless="UseCookies"/> 
</authentication> 

Et <machineKey> aussi:

<machineKey validationKey="DD45C42ACEAF1E208E9B78288177EBF9C8C7C54C6D05BA2FBA90B5348B8F6987216CB098056891CFE81DC33E37C5F9A2BF1845DBF902C6E4BBFEC2341FFA3635" 
decryptionKey="0C69852D8BE0948D545C35B932D394102802FAF7FA46E99B4E5B5E12546E4620" 
validation="SHA1" decryption="AES" /> 

Quelqu'un at-il des suggestions quant à ce que je devrais vérifier ou essayer?

+0

N'a jamais fonctionné dans son état d'origine. Ce que j'ai fini par faire était de changer les deux applications - dont chacune avait son propre MembershipProvider et RoleProvider, sans grande raison - pour utiliser le standard AspNetSqlMembershipProvider et AspNetSqlRoleProvider. À partir de ce moment, l'état d'authentification partagé a parfaitement fonctionné. – Carson63000

Répondre

Questions connexes