Unsere ASP.NET MVC-Webanwendung verfügt über einige verschiedene Sub-Domains, die wir zum Testen und Legacy-Code verwenden. Die Subdomains sind:
Wir verwenden die Formularauthentifizierung absichtlich nicht mit Cookies auf Domänenebene, da die Cookies in diesen verschiedenen Subdomains eindeutig sein sollen. Das Problem besteht darin, dass Personen, die einen Link zur Stammdomäne (sitename.com) erhalten, sich erneut anmelden müssen, um einen Cookie zu erhalten, obwohl sie bereits auf www.sitename.com angemeldet sind.
Gibt es eine Möglichkeit, den Cookie zwischen nur www.sitename.com und sitename.com zu teilen, ohne dass die anderen Subdomains davon betroffen sind?
Ich würde empfehlen, die Verwendung des www zu erzwingen. Version der Website, aus diesem Grund unter anderem, diese Seite hat ausgezeichnete Gründe, warum ...
СсылкаUm dies in .net zu tun, können Sie Ihrer web.config
Folgendes hinzufügen %Vor%Dies führt zu einer permanenten automatischen Weiterleitung (siehe das Hinzufügen von redirectType="Permanent") für nicht www-URLs zum www-Äquivalent und behält das http (s) -Protokoll
beiDer TrackAllCaptures-Part ist mit dem Regex-Pattern-Matching verbunden - in unserem Fall müssen wir nichts erfassen, wir müssen nur für die Regel passen, also können wir als false weglassen.
Das Regex-Muster ^ sitename.com $ wird übereinstimmen, wenn der Hostname exakt mit "sitename.com" übereinstimmt - das ^ bedeutet die Startposition und das $ die Endposition
Die Neuschreibkarte stammt aus einer Idee von Jeff Graves, glaube ich, Ссылка
Die Art und Weise, wie ich gezeigt habe, zeigt nur eine Möglichkeit, dies zu tun, wie bei den meisten Dingen - es gibt mehrere Möglichkeiten, dies zu erreichen.
Scott Forsyth hat einen Artikel über verschiedene Wege, dies zu erreichen (auch Referenzen Jeff Graves) Ссылка
Sie können dieses Problem vermeiden, indem Sie Ihre nicht www-Domäne mit dem Modul UrlRewrite in & lt; IIS7
auf www umleitenRewrite-Regel, die in web.config
eingefügt werden soll %Vor%