Question

J'ai deux sites IIS pointant vers des dossiers physiques diffent. Ceci est d'être en mesure de différencier les web.config et les fichiers et ensembles utilisés pour les sites Base de données est définie pour pointer sur la même instance pour les deux sites Dans web.config sont configurés pour démarrer à partir de pièces différentes La stucture est comme ceci:

  • / Sitecore / contenu / home / default

  • / Sitecore / content / home / intranet

Jusqu'à présent, si bon.

Maintenant, le problème est que je suis en mesure de récupérer le contenu ne faisant pas partie du site réel en entrant son chemin complet. Ie.

http://www.default.com/sitecore/content/home/intranet.aspx <-. Cela ne devrait pas être autorisé, puisque www.default.com est configuré avec /sitecore/content/home/default en tant que root

Yat-il un mécanisme intégré pour dissallow ceci ou dois-je sous-classe le itemresolver pour faire « des sites croisés » illégaux -les demandes.

Était-ce utile?

La solution

Ceci est quelque chose à voir avec la façon dont Sitecore résout les éléments, j'ai trouvé trois différentes URL pour chaque élément. Par exemple dire que j'ai la structure suivante:

-sitecore
  -content
    -home
      -page1

Je peux accéder à page1 soit par:

  • http://mysite/sitecore/content/home/page1.aspx
  • http://mysite/page1.aspx
  • http://mysite/home/page1.aspx

sachant cependant ce ne sera pas aider à résoudre votre problème. La meilleure solution que je peux suggérer est d'utiliser la sécurité. Toutefois, si deux sites ont besoin l'accès anonyme la question est de savoir comment contrôler cela?

Je suppose que, puisque vous avez deux de web.config séparé vous devez également séparer les sections de configuration Sitecore. Donc ce que nous pouvons faire est de créer un processus de pipeline qui fonctionne dans le cadre du pipeline commencer requête http (dans le web.config comme / configuration / Sitecore / pipelines / httpRequestBegin) créer un pour chaque site et mise à jour du web.config concerné. Lorsque ce processus est appelé il pourrait créer un utilisateur virtuel qui appartient à un groupe qui restreint l'accès au site demandé par l'utilisateur.

Il y a un code ici qui vous montre comment créer un utilisateur virtuel:

sur les pipelines:

Hope this helps: -)

Autres conseils

Eh bien, si l'élément intranet (et ci-dessous) est protégé par la sécurité Sitecore il ne devrait pas être un problème, ni possible d'accéder:)

Si vous ne pouvez pas le manipuler avec la sécurité alors j'aller avec le ItemResolver.

Vive

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top