So teilen Sie einen Cookie zwischen Domain und Subdomain, aber nicht anderen Subdomains

9

Unsere ASP.NET MVC-Webanwendung verfügt über einige verschiedene Sub-Domains, die wir zum Testen und Legacy-Code verwenden. Die Subdomains sind:

  1. www.sitename.com (Produktionsstandort)
  2. test.sitename.com (Testen)
  3. original.sitename.com (Legacy-Code)
  4. staging.sitename.com (wird gelegentlich direkt vor einer Bereitstellung zum Testen verwendet)

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?

    
Jacob Stamm 22.04.2016, 14:46
quelle

3 Antworten

3

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

bei

Der 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) Ссылка

    
Sean 24.04.2016, 20:43
quelle
5

Sie können dieses Problem vermeiden, indem Sie Ihre nicht www-Domäne mit dem Modul UrlRewrite in & lt; IIS7

auf www umleiten

Rewrite-Regel, die in web.config

eingefügt werden soll %Vor%     
Ergun Ozyurt 24.04.2016 20:36
quelle
0

Sie können etwas wie

verwenden %Vor%

Dann können Sie dieselben Cookies von jeder Subdomain anfordern und sie bearbeiten, wenn Sie möchten.

    
Dii 27.04.2016 11:02
quelle

Tags und Links