2011-03-07 1 views
0

Je viens de rencontrer l'un des problèmes d'utilisation du serveur de développement intégré (Cassini) dans VS et je voudrais voir s'il existe des solutions. Nous utilisons l'authentification asp.net pour sécuriser le site. Cependant, Cassini fonctionne en mode pipeline intégré, ce qui signifie que les demandes pour tous les fichiers passent par l'isapi asp.net. Le résultat de ceci est qu'il sécurise les fichiers qui ne seraient pas autrement sécurisés dans un environnement de production (.htm .js .css etc.).Utilisation de l'authentification/autorisation ASP.NET avec le serveur de développement Cassini

Maintenant, je comprends que nous pouvons exécuter le projet sur une instance IIS locale, mais nous aimerions éviter cela si possible. Mais, à cause du problème ci-dessus, cela semble être la seule solution.

Est-ce que quelqu'un a des idées sur la façon de faire fonctionner Cassini avec l'authentification qui peut être facilement déplacée vers un environnement de production quand elle est prête. (Je voudrais également éviter d'avoir un développement différent web.config qui permet spécifiquement l'accès à ces fichiers).

Nous utilisons le VS2010 en passant.

Merci beaucoup.

Répondre

0

Vous pouvez câbler jusqu'à l'événement HttpApplication.PostAuthenticateRequest dans votre global.asax ou un IHttpModule. PostAuthenticateRequest event on MSDN

Dans le gestionnaire d'événements, vérifiez l'extension de fichier pour celle que vous souhaitez non sécurisée. Si l'extension de fichier est une correspondance, donnez la valeur HttpContext.User à une instance IPrincipal qui a les rôles requis pour accéder à un fichier dans le répertoire spécifié.

+0

Merci, j'ai marqué votre réponse comme la réponse parce que cela semble être une solution raisonnable. Cependant, nous avons décidé de ne pas l'utiliser et avons plutôt pris le hit et mis en place IIS pour que tous les développeurs puissent l'utiliser. – Martyn

1

Au lieu d'utiliser Cassini, vous pouvez télécharger et installer IIS Express:

IIS Express est une version allégée, autonome d'IIS optimisés pour les développeurs. IIS Express facilite l'utilisation de la version la plus récente d'IIS pour développer et tester des sites Web. Il a toutes les capacités de base de IIS 7, ainsi que des fonctionnalités supplémentaires conçues pour faciliter le développement d'un site Web

+0

Merci Oded, si nous décidons de nous éloigner de Cassini, alors nous pouvons aussi bien utiliser l'IIS complet afin qu'Express ne sied pas vraiment. Cela dit, je n'en sais pas grand-chose. Quels avantages Express a-t-il sur l'IIS complet pour le développement? Permet-il de modifier et de continuer? – Martyn

+0

@Martyn - Je ne sais pas modifier et continuer, mais je pense que ce sera le même que IIS complet. Il est plus léger que IIS et le principal avantage est que vous n'avez pas besoin d'exécuter VS en tant qu'administrateur pour que les services Web fonctionnent correctement. – Oded

Questions connexes