ASP.NET MVC - пересеките sub аутентификацию домена / членство

1 поймал: когда вы используете «p», чтобы поместить строку, она помещает ее после строки, на которой находится ваш курсор, поэтому, если вы хотите добавить строку после строки, которую вы дергаете, не перемещайте курсор вниз на строку, прежде чем ставить новую строку.

10
задан Community 23 May 2017 в 10:27
поделиться

3 ответа

Попробуйте создать файл cookie самостоятельно.

В AccountController вы найдете следующее:

FormsAuthentication.SetAuthCookie(userName, createPersistentCookie);

, который «создает и добавляет в коллекцию файлов cookie». Это не позволяет изменять домен (но, как ни странно, разрешает изменение пути). Вместо этого создайте файл cookie, не добавляя его в коллекцию, измените необходимые свойства, затем добавьте в коллекцию:

var a = FormsAuthentication.GetAuthCookie(userName, createPersistentCookie);
//if you're debugging right here, a.Domain should be en.example.com; change it
a.Domain = "example.com";
HttpContext.Current.Response.Cookies.Add(a);

Джеймс

7
ответ дан 4 December 2019 в 01:31
поделиться

Ваша проблема в том, как браузеры отправляют cookie во время запроса.

Cookie обычно привязаны к одному домену, это сделано из соображений безопасности и производительности. Например, пользователь не хочет отправлять cookie для вашего домена в какой-либо другой домен, потому что ваш cookie может содержать конфиденциальную информацию.

Браузер действительно различает файлы cookie, установленные с помощью en.domain.com и jp.domain.com. Они не разрешают передачу файлов cookie из одного домена в другой, потому что они не находятся в родительском домене.

Решением вашей проблемы было бы взять на себя управление созданием файлов cookie. Я не очень много играл с ASP.NET MVC, но уверен, что это можно сделать не через HTML, а через свойство или что-то в этом роде. Это очень распространенный сценарий. Вы должны установить домен cookie на «domain.com» для своих производственных ящиков, это правильно. Если вы работаете с локальным ящиком, вам следует установить для домена cookie значение «».

0
ответ дан 4 December 2019 в 01:31
поделиться

Вы должны использовать префикс точки, например этот.

<authentication mode="Forms">
    <forms domain=".tv.loc" loginUrl="~/signin" timeout="2880" name="auth" />
</authentication>
3
ответ дан 4 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: