«Мы делаем “Сеанс” для себя» › Лениздат.ру
В июле вышел 75-й номер журнала о кино «Сеанс». «Этот журнал мы делали в изоляции, на удалении, медленно и печально», — говорится в аннотации. Номер сдавался уже после того, как бессменный главный редактор Любовь Аркус неожиданно заявила об уходе с этого поста. Ее сменил Василий Степанов. Когда номер уже был сдан в печать, мы поговорили с новым главредом – о журнале, редакции и том, как становятся кинокритиками.
I
Форма детской аддикции
– Если «Википедия» не врёт, вы учились на филфаке СПбГУ, на финно-угорском отделении – это далеко от кинокритики.
– Да, киноведческого образования у меня нет. Смотреть кино – это ведь хобби. И даже мысли не было как-то профессионально его изучать, пойти и стать историком кино. Был филфак, финно-угорское отделение. Была идея выучить новый язык, чтобы потом, возможно, заниматься литературой, определенная инерция после школы. Мне ведь повезло учиться в очень хорошей школе – классической гимназии (школа №610) на улице Красного курсанта. Многие шли после нее на филфак и востфак. Вот и я тоже оказался в здании на Университетской набережной. С какими-то смутными желаниями. В «Википедии» еще написано, что я поэт, например, и написал текст песни СБПЧ «Икея» – то есть были и такие литературные амбиции. В университете я собирался учить финский, но поступил в итоге на венгерский. Сейчас думаю, что не очень-то был достоин усилий, вложенных в меня кафедрой, с которой когда-то отчислили Сергея Донатовича Довлатова (это тоже льстило литературоцентричному сознанию). Хорошая кафедра.
–Пригодился венгерский язык в жизни?
– Я могу посмотреть венгерский фильм без субтитров. Или обед себе в ресторане заказать, если вдруг окажусь в Венгрии. Хотя последний раз я там был лет десять назад. Но иногда кажется, что ненужные вещи – самые важные. Венгерский вроде бы расширяет мои представления о мире, о возможностях устройства языка и мысли.
– Это всё ещё никак не связано с кинокритикой. Как вы всё-таки попали в киноведение?
– Я туда не попал, кажется. Просто жадно смотрю кино с раннего детства. В нашей семье довольно рано появился видеоплеер, еще в 1990-м. Его купила бабушка, она сняла свои накопления. Плеер удачно помещался в сумку, и его переносили из квартиры в квартиру – от родителей к бабушке и обратно. С видео связаны шоковые детские воспоминания: «Лицо со шрамом» Де Пальмы или второй «Безумный Макс» – я эти фильмы смотрел как-то фрагментарно, из-под полы, пока их смотрели взрослые, которые, конечно, отгоняли меня от телевизора, ведь там дикое насилие. Кино сегодня – вроде бы ленивый досуг, но у меня оно всегда ассоциировалось с преодолением препятствий. Например, в советском телевизоре для видео не было штатных разъемов. И нужно было найти какого-то знакомого мастера, что-то специально распаивать, ставить микросхемы. При этом такая подробность: советские телевизоры работали в системе SECAM, а не PAL, так что записи с кассет на нашем «Горизонте» становились чёрно-белыми. Я, скажем, долго думал, что «Терминатор» и «Чужие» – это чёрно-белое кино.
Мне кажется, что в целом 1990-е были удачным временем для погружения в кино: кино расширяло пространство. Мне и сейчас так кажется, хотя сегодня в мире слишком много магнитов попритягательней – в девяностые не было интернета, никто особенно никуда не ездил, были только книги, «денди» и видео. Безмерность кинематографа меня вдохновляет и удручает одновременно. Я никогда не успевал посмотреть всё то, что мне хотелось. И в конце 1990-х, когда дома появился второй магнитофон, я начал копировать фильмы из видеопроката, чтобы посмотреть их потом. Кассет на полках стало больше, чем книг. Это было наваждение, собирательство, детская аддикция. Книг по кино я особо не читал, да и журналов по кино тоже (разве что была колонка Юрия Гладильщикова в тогдашних «Итогах»), а без них, без интернета, картина восприятия складывается эклектично-пестрая – Висконти, Шварценеггер, Джармуш, Тати стоят на одной полке.
– Много кто в 1990-е смотрел кино, но мало кто стал о нем писать. Как это произошло у вас?
– В общем, кино и литература были важнейшими искусствами для меня. А дальше была такая история: в начале нулевых судьба свела мою преподавательницу русской словесности, великую и прекрасную Елену Николаевну Грачеву (она и сейчас продолжает работать в 610-й гимназии, а также является административным директором фонда AdVita — ред.), с Любовью Юрьевной Аркус, которая в тот момент работала над фундаментальной «сеансовской» энциклопедией. Для тех, кто не знает: это такая многотомная история переходного времени от Перестройки и до Путина (семитомник «Новейшая история отечественного кино. 1986-2000». — ред.). Я, честно говоря, не очень понимал масштабы этого замысла. Елена Николаевна курировала раздел «Литература» и предложила мне написать несколько текстов, это был 2002 или 2003 год, кажется. А мне нравилось писать. Мне казалось, что я это умею. И я написал. Про книгу стихов Тимура Кибирова, про книгу Сергея Гандлевского, про Генриха Сапгира и про Игоря Холина – маленькие такие заметочки. Писать в настоящую большую книгу было ужасно почетно, в университете я уже «Сеанс» читал, покупал его в книжной лавке на факультете. Это было такое загадочное издание. Чуть позже была и личная встреча с главным редактором Любой, которой вдруг показалось, что мои тексты подлежат чтению и исправлению, что с ними можно работать. И она предложила уже писать в семитомник про кино: про мировое – это было счастье! –там был такой раздел, который редактировал Леша Гусев, ему тогда, получается, было лет 25, и про отечественное.
–После этого вас позвали в «Сеанс» работать?
– Нет, конечно. Я был юный мальчик совсем, собирался поступать в аспирантуру. И все, что я писал, естественно, редактировалось в «Сеансе», переписывалось, если не целиком, то почти целиком. Потом я успел поработать в «TimeOut Петербург» (который тогда, правда, назывался журнал «Календарь»): сначала как фрилансер, а потом и как редактор отдела «кино». В 2006 году меня даже превратили в зам. главного редактора. Я, признаться, неплохо себя чувствовал: платили мне целую тысячу долларов, и график удобный – одну неделю работаешь, а другую прохлаждаешься в страшном самолюбовании.
И в этот момент мне позвонила Люба, которая сказала: «Здравствуйте, Вася. Вы меня помните? Не хотите зайти ко мне кое-что обсудить по делу?» Ну, а кто бы не захотел? Это было больше всякой премии, как знак, что я на что-то да гожусь.
Тут важно понимать мифический образ «Сеанса». Выходил этот журнал редко, но выглядел чрезвычайно внушительно. То, что в нем публиковалось, это было не киноведение никакое, конечно, а все-таки литература. Кинопроцесс в «Сеансе» всегда трактовался расширительно – как часть большого социального и даже духовного, экзистенциального опыта. Я лично покупал журнал с трепетом. Было ощущение, что «Сеанс» существует каким-то непостижимым науке образом. Когда Люба мне позвонила… Я надел ботинки, прибежал готовый в общем-то на всё. А она меня с тревогой спрашивает: «Сколько, извините, вы сейчас получаете?» И дальше: «Ну, столько я вам точно не могу платить».
II
«Келейный, рукодельный и семейный проект»
– Это было летом 2006 года. Люба и Костя Шавловский (на тот момент заместитель главного редактора журнала – ред.) только вернулись с «Кинотавра». Костя жил тогда в Москве, в Петербурге бывал наездами. Люба тоже работала на даче, иногда приезжая в город. Первое время я сидел в редакции, вообще ничего не понимая. Не было привычного ритма, как в TimeOut, а главное, вдруг стало понятно, что нет совершенно никаких начальников. И нужно как-то становиться начальником самому себе. Этим начальником самому себе я пытаюсь стать до сих пор. Примерно спустя две недели моего тупого сидения в редакции Люба поняла, что я непонятно что делаю. Единственное мое деяние – я прочитал верстку сборника сценариев Алексея Германа и Светлана Кармалиты на предмет неправильных переносов. Зачем? Были ужасные метания: «Зачем я сижу, стул протираю». Потом очень чинные разговоры с Костей Шавловским, которого, видимо, подсылала Люба, мучимая чувством вины за то, что сорвала меня с денежного места, а я какой-то милый, но бессмысленный.
Фото: seance.ru
Обложка журнала «Сеанс» №29/30 (2006 год) — первого журнала, в создании которого принимал участие Василий Степанов.
– Но у нее же была задумка, когда она вас приглашала?
– Сейчас думаю, что ее все-таки подкупил мой энтузиазм. Я, видимо, источал нешуточный оптимизм. А «Сеансу», наверно, нужен был просто редактор, какой-то младший редактор, способный справляться с редакционными обязанностями. Написать что-то, расшифровать что-то, сделать интервью. Работать с текстами, авторами. Ну, как это обычно бывает. Просто мы не успели подробно все обсудить. Думаю, если бы обсудили – я бы отказался. Как я теперь понимаю, у меня тогда не хватало компетенции для такой работы. Я мог, конечно, взять на себя какую-то рубрику журнала, заказать статью и сесть ждать выполнения заказа. Но прислали бы мне эту статью? Большой вопрос. Легко работать, когда рамки четко определены, легко, когда ты выходишь раз в две недели. А «Сеанс» совсем другое. Свобода заложена уже в самой его структуре. У нас ведь нет каких-то постоянных рубрик, нет обязательной программы. Тебя ничего не сдерживает. И в такой ситуации ничего не стоит все испортить. Со свободой приходят сверхтребования. Редактор уже не просто редактор. Он должен обладать широким спектром профессиональных качеств и социальных навыков. Редактор в «Сеансе» – это и архитектор журнала, и его прораб, и строитель, и приемщик работ. Он заказчик текстов, литературный работник, переговорщик, рерайтер, дизайнер отчасти (хотя сейчас уже практически нет). Он человек с широким кругом интересов. Он должен быть любопытен чрезвычайно, до экзальтированности, у него всегда болит.
Фото: vk.com/seance_magazine
Василий Степанов во время работы над выпуском «Сеанса» № 47/48 о Фаусте. 2011 год.
Думаю, что журнал был, конечно, придуман Любой по ее собственному образу и подобию, а она – человек, стремящийся к всеохватности. И в идеале остальные редакторы «Сеанса» должны быть тоже немножко Аркус. Любина утопия в том, что ей кажется, будто такие люди есть. Ведь она же есть. Ну и мы как-то с этой иллюзией живем. Скажу честно, главная фантазия «Сеанса» – кадровая. У нас очень много друзей, много авторов. Но в редакции работать трудно. Главное требование, которое выдвигает «Сеанс»: за тобой никто не будет следить. Система слежки слишком трудоемка и затратна, а кроме того, еще и оскорбительна – кому понравится следить? С такой установкой логично, что редакция очень компактна: помимо меня и Любы, в штате сейчас есть два редактора – Павел Пугачев (в его зоне ответственности наш сайт и социальные сети) и Серафима Гаврилова (она отвечает за наполнение chapaev.media), есть арт-директор Арина Журавлева, есть руководитель издательского направления Петр Лезников, который умудряется совмещать в себе самые разные функции (от дизайнера до выпускающего редактора), есть монтажер Дмитрий Новосельцев, который делает видео для наших порталов (для нас это новая область, в диковинку, но он блестяще справляется и развивается). Есть наш замечательный оператор и фотограф Ирина Штрих. Да, у нас самые широкие интересы, да, мы делаем книги, четыре журнала в год, ежедневный сайт про кино и еще исторический проект «Чапаев», и иногда даже фильмы, но нас все-таки мало. Поэтому мы мобильны и непредсказуемы.
«Сеанс» — это немного келейный, рукодельный и семейный проект.
– Что-то поменялось в редакции в связи с уходом Любови Аркус с поста главного редактора?
– В «Сеансе» постоянно что-то меняется. Еще вчера мы что-то никогда не делали, но уже завтра мы засучив рукава этим занимаемся. Уход Любы с поста главного редактора – это не уход из журнала. Люба тут рядом. Нельзя перестать быть основателем чего-то. Но можно сосредоточиться на отдельных книгах, на развитии «Чапаева», на своих фильмах – у нее три больших замысла в разной степени завершенности. Мы много разговаривали с Любой об этом шаге. Она говорит, что изменилось время (она называет его «временем травмы» и «временем оскорбленных чувств») и противостоять этому у нее нет сил. Меня тоже тревожит современность – ее аффекты: взаимная агрессия, которую навязывают нам социальные сети, то, что люди друг друга перестали слышать, то, как они перекладывают ответственность; инфантильность и одновременно с этим надменность времени. Возможно, в связи с вышесказанным, с этим недовольством современностью «Сеанс» станет чуть более синефильским и чуть более историческим журналом. В этом я вижу возможность хоть что-то противопоставить логике времени: современность требует от кинематографа политической грамотности, а мы будем еще больше размышлять о нем как о чистом искусстве, закрывать пробелы, углублять и обострять темы текущих событий в исторической перспективе. Мы уже это делали в номере про 68-й год, в “Проблеме поведения” и других недавних выпусках. Не потому, что мы какие-то замшелые или не прогрессивные. Следующий номер «Сеанса», например, полностью посвящен женщинам-кинематографистам. Хочется идти не в ногу, а какой-то своей, прыгающей походкой: и пусть это будут женщины, но те, о которых не особенно часто заходит речь. Давайте поговорим о том, что женщины снимали кино до Кэтрин Бигелоу и Селин Сьямма.
Фото: seance.ru
Обложка 75-го номера журнала «Сеанс», который создавался в период пандемии коронавируса и изоляции. Первый где главным редактором была не Любовь Аркус, а Василий Степанов.
В «Сеанс» заложена возможность перемен при сохранении высокой планки формы и содержания. У нас уже были периоды дикого синефильства. Типичный пример – номер про французское кино, который мы делали с Борей Нелепо (критик, куратор кинопоказов, программным директор фестиваля дебютов «Дух огня» – ред.). Я чуть больший синефил, чем Люба (несмотря на ее киноведческое образование и более системный подход), но в этом есть и проблема – я куда меньше требую от кино. Я многое могу ему простить за какой-то пригрезившийся мне в кинозале миг поэзии. Но разглядеть поэзию значит остановиться. Перестать скользить по поверхности. «Сеанс» никогда этого не делал. Если и нужно сегодня с чем-то бороться – то с общими словами и коллективными диагнозами, мнениями как под копирку, стереотипами.
– Любовь Аркус про вас писала, что вы работает с 11 до 11 и по ночам ещё кино смотрите.
– Это художественное преувеличение. Я про нее могу то же самое сказать. Да, у нас часто бывают авралы, но мы все-таки редко ночуем в редакции. В обычные дни я стараюсь смотреть один-два фильма в день. К сожалению, смотрю много мусора. А больше, увы, редко получается.
Но для просмотров кино есть фестивали, где ты видишь уже по четыре-пять фильмов ежедневно (некоторые коллеги смотрят и по шесть), и за десять дней успеваешь собрать лист примерно из 40 фильмов. Со стороны кажется, что фестивали – это такой праздник жизни, где критики-трутни пьют апероль-шпритц с видом на красную дорожку, но на деле не так – ты должен в шесть утра подняться и встать в очередь на первый кинопоказ. Потом выйти и встать в другую очередь, а пока стоишь – написать заметку в телефоне и перехватить бутерброд. А ночью вместо вечеринки нужно поспать, чтобы на следующий день не засыпать в кинозале. Короче, аскеза. При этом за две недели можно посмотреть половину фильмов, о которых можно дальше год говорить. Сейчас, когда фестивалей нет, стало ясно, какую индустриальную нагрузку они на себе несли. Естественный ритм жизни нарушен.
III
Главный груз «Сеанса» – его 30 лет истории
– Для «Сеанса» принципиально оставаться в бумаге?
– Да. Потому что для нас журнал – это реликвия. Если угодно, бумага – наша привилегия. Мы родились такими. Если посмотреть, как менялся внешний вид «Сеанса», то понятно, что мы довольно консервативны. Мы, например, не меняем логотип. Несколько лет назад, мы решили, что нам нужен новый сайт, и обратились к нескольким людям, чтобы они нам помогли с дизайном. Первое, что говорил каждый из них: нужно перерисовать логотип, нужен ребрендинг. Но зачем? За всю историю у нас немного менялся формат, журнал стал чуть более квадратным. Пару лет назад мы отказались от мелованной бумаги, давно хотели уйти от нее, стали печататься в Латвии. Бумага нам теперь очень нравится, она нежного цвета, пухлая, пористая. А читатели начали говорить: «Хм, какая-то дешевая бумага, наверное, у “Сеанса” трудные времена». На самом деле она стоит в два раза дороже «меловки».
Раньше разгрузка тиража «Сеанса» была адовым трудом. Потому что мелованная бумага, да ещё номера по 350-400 страниц. И каждый журнал – это кирпич.
Думаю, что сегодня вся бумажная пресса мира, в том числе и российская, переживает один и тот же момент. Печатные форматы, которые были так важны и нужны в середине 1980-1990-х, к середине десятых XXI века умерли. Глянец, анонсовые издания, еженедельники – кому это все нужно? Но то, что казалось некоммерческим излишеством, живет и будет жить дальше, потому что это иррациональная страсть. Хороший бумажный журнал сегодня – смутный объект желания. Он существует не потому, что для этого есть объективные причины, а потому что так повелось. Он – чудо. Как настоящая личная открытка или письмо, положенное тебе в почтовый ящик. Журналы, на которые хочется походить – это: Sight&Sound (ежемесячный британский журнал о кино, издаётся с 1932 года – ред.), Film Comment, который выпускает Линкольн-центр в Нью-Йорке, Cahiers du Cinéma (журнал основан в 1951 году и по сию пору считается одним из главных в мире о кино – ред.), все они, насколько я понимаю, существуют не благодаря чему-то, а скорее вопреки. Считаю, что они должны существовать вечно, потому что вокруг них есть комьюнити, потому что у них есть история. Как есть она у «Искусства кино», например. 30 лет истории есть и у «Сеанса». Для журнала – это огромный срок.
Фото: seance.ru
Обложки «Сеанса» последних лет.
–То есть он уже точно не про информирование?
– Не про информирование. Он про деформирование – про изменение читателя. Он информирует в основном о том, что думает редакция в данный конкретный момент. На самом деле мы делаем «Сеанс» для себя. Пусть информируют сайты, онлайн-проекты. Потому что «информирование» в случае кино неизбежно оборачивается обслуживанием: интернет-показов, онлайн-кинотеатров, стримингов, контента и зрителей.
–Но есть мнение, что «Сеанс» и «Искусство кино» монополизировали кинокритику в стране.
– Если бы это было так, я был бы счастлив. Но, увы, такое мнение отдает чрезвычайной наивностью. Как можно силами двух журналов что-то монополизировать? Что нас объединяет? Часть авторов и желание несмотря ни на что продолжать выпуск журналов в печатном виде. Удачные номера в представлении журналов «Искусство кино» и «Сеанс» – это когда продан тираж в три-четыре тысячи экземпляров. Разве это монополия для многомиллионной страны? Может быть, мы с «Искусством кино» монополизировали какие невероятные денежные потоки и гранты? Уверяю вас, это не так. Оба журнала – заложники своего формата, своей бумажной формы, своих традиций. Придумайте другой журнал – небольшой, юркий, громкий как боевой листок и, уверен, все получится. Есть, скажем, немецкий журнал Revolver, тонкий, умный, классный, помещающийся в задний карман джинсов. Его делает команда режиссеров. Я им временами завидую. В таком формате ты не думаешь, что тебе нужно заказать в журнал 35-40 материалов, за которые нужно выплатить гонорары, что тебе нужно купить картинки. Допустим, наши страстные коллеги из радикально-ангажированного портала «Кимкибабадук» (Мария Кувшинова и Татьяна Шорохова – создательницы проекта – ред.), могли бы создать такое печатное панк-издание, но они, кажется, не верят в бумагу. А сетовать на привилегии и иерархии просто.
Главный груз «Сеанса» – его 30 лет истории, слишком славной, чтобы ее можно было забыть. Я, конечно, огрубляю, но когда у тебя есть журнал, который еще тридцать лет назад писал о Сокурове (пока это еще не стало мейнстримом), журнал, который боролся за Балабанова, журнал, на котором выросла «новая русская волна», – это большой груз, это наше наследие и, наверно, наша привилегия. Которой трудно воспользоваться, но которой необходимо соответствовать.
Беседовала Елена Михина
Электротеатр и журнал «Сеанс» проведут показы архивных спектаклей Юхананова
С 12 мая на сайте журнала «Сеанс» и странице Электротеатра ВКонтакте покажут фильмы-спектакли, лабораторные опыты и архивные постановки, сделанные Борисом Юханановым в разное время в Мастерской Индивидуальной Режиссуры.
Откроют ретроспективу 12 мая в 16:00 фильмы «Особняк», 1986 и «Театр Театр», 1989. Фильм «Особняк» (1986) — первая глава видеоромана в тысячу кассет «Сумасшедший принц». Большая часть видеоматериалов — это репетиции сайт-специфического проекта, сделанного после посещения Борисом Юханановым выборгского парка Монрепо. Фильм «Театр Театр» (1989) смонтирован из уникальных видеоматериалов, снятых во время работы над театральными проектами 1980-х–1990-х: «Монрепо» (1986), «Мизантроп» (1986), «Наблюдатель» (1988) и «Октавия» (1989).
13 мая в 16:00 покажут фильм-спектакль «Наблюдатель», 1988. Этот спектакль соединил в себе двадцатилетие советской музыки и рок-культуру 1980-х. 14 мая представят фильмы Клима Козинского «Сфера», 2017 и «Жанр», 2017. Начало в 16.00.
16 мая покажут лабораторный проект 1995 года «Сад. Пятая Регенерация», 18 мая – «Дауны комментируют мир»: «Неуправляемый ни для кого», также выпущенный в 1995 году и «Да! Дауны…или Поход за золотыми птицами» 1997 году. Они были реализованы Борисом Юханановым в 1994 –1997 годы и представляли из себя акцию, позволяющую увидеть мир сквозь сознание «другого» человека. По сути, это первые в отечественной практике театральные проекты такого типа. В театральной части проекта актеры с синдромом Дауна становятся «садовыми существами» и принимают участие в создании спектакля «Сад» (5-я регенерация). В «Неуправляемом ни для кого» они комментируют Евангелие. В «Да! Дауны…» они размышляют о телевидении, берут друг у друга интервью и ведут репортажи, которые по ходу превращаются в исповедь.
20 мая в 14.00 и 19.00 можно будет посмотреть «Сад. Восьмая регенерация. Первый день» и «Сад. Восьмая регенерация. Второй день». Это последняя из регенераций новопроцессуального проекта «Сад», продлившегося больше десяти лет. Показ проходил летом 2001 года в рамках III Международной Театральной Олимпиады на сцене Центра им. В. С. Мейерхольда.
22 мая будет представлен проект «Недоросль», куда вошли TV программа, интервью, фильм-спектакль, снятые с 1999 по 2001 годы. Спектакль «Недоросль» Борис Юхананов поставил в 1998 году в вильнюсском Русском драматическом театре, которым тогда руководил джазовый музыкант Владимир Тарасов. Вместе с художником Юрием Хариковым, хореографом Андреем Кузнецовым-Вечесловым и актерами Русской драмы режиссер предпринял «реконструкцию реконструкции». В основе работы — вышедшая в 1911 году реконструкция спектакля по пьесе Фонвизина, которую сделал режиссер Юрий Озаровский, привлекший к сотрудничеству архитекторов, художников, гримеров и постижеров.
24 мая покажут спектакль «Подсолнухи» 2002 года по одной из поздних пьес Теннесси Уильямса с Лией Ахеджаковой и Виктором Гвоздицким.
26 мая можно посмотреть фильм-спектакль 2004 года «Повесть о прямостоящем человеке», сделанный Юханановым в «Школе драматического искусства» с участниками Лаборатории ангелической режиссуры и с участием Оксаны Великолуг, девушки в инвалидном кресле, называющей себя подмастерьем Мастерской Индивидуальной Режиссуры.
28 мая покажут фильм-спектакль 2009 года «Фауст. Шестая регенерация». Он фиксирует спектакль «Фауст» Бориса Юхананова (1999–2008 гг.), который стал результатом работы Лаборатории игровых структур (ее вместе с Юханановым вел актер Игорь Яцко).
29 мая можно посмотреть документальные фильмы Евгения Похиса 2013 года «Путешествие сквозь Апокалипсис» и «Духовный инстинкт». Два фильма авторской дилогии, рассказывающие о таинственном и полном испытаний путешествии Мастера и его спутников в поисках образа спектакля.
30 мая будет транслироваться фильм о постановке «Голем», снятый в 2007 году Александром Белоусовым. Он фиксирует процесс создания «Голема», который является примером спектакля, запущенного в эволюцию.
Подробнее о фильмах и спектаклях можно узнать на сайте Бориса Юхананова.
Антон Долин: «Сеанс» и «Искусство кино» — вместе
У журнала «Сеанс» новый главный редактор: с июня 2020 года должность занял Василий Степанов. Ну как новый? Степанов работает в «Сеансе» много лет, пишет в журнал, делает его. Как и другие участники команды — Арина Журавлева, Петр Лезников. Они очень молодые, но уже ветераны. Поэтому у «Сеанса» все будет прекрасно. Ни малейших сомнений в этом нет. Профессиональные, умные, чуткие, влюбленные в кино люди будут делать один из лучших киножурналов.
Не хочу и не могу выдерживать траурный тон, говоря об уходе из «Сеанса» его основательницы Любови Аркус. Ее любимые проекты — по-прежнему с ней или рядом, на расстоянии вытянутой руки. Беспрецедентная энергия и увлеченность делом, которыми известна Люба, найдут свое применение. Все будет хорошо.
Однако любые перемены — это стресс и дискомфорт для редакции и читателей. В данных обстоятельствах мне хочется от имени команды «Искусства кино» выразить «Сеансу» солидарность. А также готовность оказать коллегам любую помощь и поддержку, если это вдруг понадобится (надеюсь, мои слова не прозвучат высокомерно: лично я занимаюсь изданием толстого журнала о кино совсем не так давно, как Вася Степанов, он гораздо опытнее меня).
Я всегда считал, что мы занимаемся одним делом. В условиях методичного разрушения культуры и уважения друг к другу в стране, где мы живем и работаем, каждый прокатчик независимого кино, каждый кинотеатр с независимой политикой, каждое киноиздание — большое или крохотное — помогают друг другу существовать и выживать, работая на одну (не огромную, но не такую уж ничтожную) аудиторию. Уничтожение любого из них — болезненный удар по всем. Допускать такого нельзя. Любые личные дрязги, счеты и конфликты отступают перед этим простым фактом.
Скажу больше: те киножурналисты и критики, которые сейчас — вольно или невольно — обесценивают деятельность коллег, сокрушая не столько иерархии (во многом миражные), сколько само представление о профессиональной солидарности, находятся в той же самой общей лодке. Возможно, не до конца это понимая. Какими бы ни были «Искусство кино» и «Сеанс», в годы кризиса кинематографа 1990-х именно они послужили точками сборки, позволив сохраниться самой профессии кинокритика. Сегодня мы находимся в ситуации иных кризисов, но в остальном мало что изменилось. Любая конкуренция бессмысленна, пока не достигнута минимальная консолидация. И особенно сегодня, когда в тяжелейшей ситуации находятся даже такие мощные издания с международной репутацией, как французский Cahiers du Cinéma и американский Film Comment.
Мне очень не нравится, когда люди старшего поколения проклинают за нынешние раздоры фейсбук (или любую другую соцсеть). Фейсбук — лишь площадка, во всех же глупостях и грубостях по-прежнему виноваты только люди. Единственное, что поражает, — это способность многих судить о конкретных личностях и их взглядах не по поступкам или даже высказываниям, а по вырванным из контекста скриншотам, самой ходкой валюте на рынке сетевых манипуляций.
Мне хочется вспомнить о том, что в пору соцсетей и демократизации всемирного интернет-пространства те же механизмы горизонтальной, не иерархической коммуникации могут (и, полагаю, должны) использоваться для подтверждения и укрепления солидарности — профессиональной, культурной, гуманитарной и просто человеческой.
Любовь Аркус ушла из Центра «Антон тут рядом» и журнала «Сеанс»
Любовь Аркус, руководитель Центра «Антон тут рядом» и главный редактор журнала «Сеанс», сообщила 30 мая, что покидает обе должности. На своей странице в Facebook она отметила, что у нее «кончились силы».
Дорогие друзья,я ухожу из фонда «Антон тут рядом». А также из журнала «Сеанс». Все. Силы кончились.Пожалуйста, не…
Gepostet von Аркус Любовь am Samstag, 30. Mai 2020
Ранее, 29 мая на сайте журнала «Сеанс» появилась статья «Молодые люди с аутизмом на съемках фильма «Дау»», в которой говорится о «навете» на Любовь Аркус: она якобы отправляла людей с аутизмом сниматься в фильме, а на съемочной площадке их били.
«Дау» — это фильм режиссера Ильи Хржановского, который рассказывает о жизни советского физика Льва Ландау. В 2008 году в съемках фильма приняли участие молодые люди с аутизмом.
«Пока — лишь один частный случай настоящего цунами клеветы, который обрушился на меня и на фонд с легкой руки Марии Кувшиновой [соосновательница сайта «Кимкибабадук»]. Суть навета: Любовь Аркус послала ребят с аутизмом на съемки в Харьков, а их там били», — пишет Аркус в статье «Сеанса». В подтверждение прикрепляются два скриншота обсуждения в Facebook, а на странице Аркус еще несколько скриншотов, в которых некая Елена Георгиевская пишет, что детей с аутизмом «сдают в аренду».
Сегодня на сайте «Сеанса»»Октябрь 2008. Мы с Алишером Хамидходжаевым снимаем в Чесменской церкви. Там по пятницам…
Gepostet von Аркус Любовь am Freitag, 29. Mai 2020
На странице режиссера «Гоголь-центра» Жени Беркович, которая также фигурирует в статье Аркус в «Сеансе» и которая, по мнению Аркус, публиковала клеветнические комментарии в ее адрес, отмечается, что она не клеветала на Любовь Аркус и ни в чем ее не обвиняла.
«Важно: ни я, ни Сестра [Мария Беркович], ее НЕ ругали и НЕ оскорбляли. Я трое суток или сколько там уже слышу, как мы убили ее словом, разрушили фонд и журнал, оклеветали, вонзили нож в сердце, преследуем, травим и унижаем. Но знаете, почему Любовь Юрьевна за все это время не выложила ни одного скриншота с оскорблениями и клеветой с нашей стороны в свой адрес? Потому что их нет! Их не существует в природе!», — пишет Женя Беркович в следующем посте. (Орфография и пунктуация автора сохранены — Прим. АСИ.)
Тем не менее 30 мая Аркус сообщила, что юрист фонда «Антон тут рядом» подготовил гражданский иск «О защите чести, достоинства и деловой репутации в соответствии со статьей 152 Гражданского кодекса Российской Федерации».
Подписывайтесь на телеграм-канал АСИ.
ЖЕСТОКИЙ СЕАНС ТЕАТРАЛЬНОЙ ПСИХОТЕРАПИИ | Петербургский театральный журнал (Официальный сайт)
Л. Чуковская. «Софья Петровна». Новосибирский театр «Глобус».
Режиссер Вениамин Фильштинский, художник Александр Орлов, костюмы Ольги Саваренской
Нынешней весной в новосибирском молодежном академическом театре «Глобус» состоялась премьера четвертого спектакля питерского режиссера Вениамина Фильштинского — спектакля по повести Лидии Чуковской «Софья Петровна».
О Фильштинском обычно говорят как о режиссере-педагоге. Новосибирские артисты и зрители убедились, что это действительно так. Мы видели, как от спектакля к спектаклю режиссер и глобусовские актеры все лучше и тоньше понимают друг друга, как артисты, прекрасно владеющие своим телом-инструментом, чаще всего играющие в постановках-шоу, у Фильштинского становятся все более внутренне гибкими, подвижными, глубокими.
Наверное, именно благодаря рождению тесного контакта между режиссером и исполнителями стало возможно создание спектакля режиссерски точно продуманного, психологически детализированного, но и импровизационного. Он постоянно меняется даже на уровне текста (автор инсценировки — Вениамин Фильштинский) и мизансценического рисунка. Автором «Софьи Петровны» стала вся команда Фильштинского, продолжающая искать наиболее адекватное выражение замысла и после премьеры.
Сначала была классика: «Доходное место» (в «Глобусе» — «Жадов и другие»), «Маленькие трагедии», «Дядя Ваня» (см. «ПТЖ» № 12, № 15, № 21). И вот — обращение к произведению, написанному нашей современницей и посвященному не таким уж далеким от нас годам сталинских репрессий. Сегодня, когда социальное напряжение чередуется с апатией, а призывы к покаянию сменяются ностальгией по песням о главном, история о Софье Петровне — прекраснодушной, милой и доброй женщине, оказавшейся лицом к лицу с беспощадной государственной машиной, — прозвучала пронзительно актуально.
В начале действия жизнерадостная интонация всеобщего единения, порыва пронизывает рассказ Софьи Петровны (Тамара Седельникова) о ее жизни, успехах на службе. Софья Петровна — засидевшаяся в домохозяйках чистюля-отличница (о, эти строгие, простые и элегантные, неправдоподобно отутюженные белые кофточки — черные юбочки, аккуратненькие халатики — художник по костюмам Ольга Саваренская, это ее последняя работа в театре). Выбор актрисы на главную роль — в яблочко. Переигравшая множество пионерок, круглолицая Седельникова, засидевшаяся потом в тюзовских мамах и учительницах, осталась в памяти новосибирских зрителей, да и кинозрителей страны героиней фильма «Горячий снег», символом первой любви погибших на войне.
Монолог Софьи Петровны будто отражается в лицах героев, одетых во все белое, светящихся верой и оптимизмом. Вот сидят они все вместе, счастливые и прекрасные, наши ожившие молодые бабушки и дедушки, время их жизни спрессованно-радостно. Они — перед экраном, на котором проносятся кадры из прекраснейшей иллюзии XX века — фильма «Цирк». Они будто позируют для фотографии, призванной запечатлеть момент счастья, сказочные кадры будто бы проецируются и на их лица тоже, а крупный план нашедшей правду в советской России героини Любови Орловой рифмуется с кукольным личиком Софьи Петровны—Седельниковой. Мы слышим документальные свидетельства ожившей «фотографии»: «Люди 30-х годов любили кино». Мифологическая кинопанорама пройдет через весь спектакль — кадры фильмов и хроники, выступление любимого Сталина будут возникать на экране-занавесе и на занавесе, рассекающем сцену по диагонали, будут сопровождаться музыкой Дунаевского, танцевально-пластическими массовками ретро-танцплощадок и физкультурных парадов с памятными живыми пирамидами (режиссер киноряда — Геннадий Седов, хореограф — Сергей Грицай).
Люди 30-х годов любили кино, бодрую музыку, Любовь Орлову, спорт, танцы. «Лидия Чуковская — дочь Корнея Ивановича Чуковского. Одеяло убежало, улетела простыня», — просветленно поясняет один из людей в белых одеждах — артист Евгений Важенин (а потом он выйдет на сцену в облике вождя всех народов)… Что плохого может приключиться с такими открытыми, объединенными общей любовью и идеей людьми? Фотография начинает движение, единство распадается.
Сцена из спектакля.
Фото из архива театра
Т.Седельникова (Софья Петровна).
Фото из архива театра
Сцена из спектакля.
Фото из архива театра
Мать и сын живут в маленькой комнатке, оставшейся от их большой квартиры после уплотнения. Они не унывают. Работы у Софьи Петровны много, возвращается она домой поздно. Она и общественница — ей радостно приносить пользу людям. Сын-студент упоенно читает Маяковского. Молодежь пьет чай из жестяного чайника, мечтает о будущем, целеустремленность и энергия — в каждом движении.
Это не оболваненные уроды, нет. Герои спектакля живут настоящей, подлинной жизнью, и не их вина, что толчком к их мечтаниям и действиям стала химера, что время дало их подлинной жизни ложную точку отсчета.
Постепенно, изящно, продуманно режиссер начинает разрушать подлинно-иллюзорную картину всеобщего счастья: слева, в комнатке Софьи Петровны, — люди в белом; справа, в служебном помещении, начинают появляться люди в черном и сером; вот белый диагональный занавес полетел слишком быстро, заклубился и показал зрителям свою темную изнанку. Вот пространство, поначалу четко разделенное на личную, частную жизнь героев и казенную, служебную, теряет свою функциональную четкость. В личное пространство вторгаются фигуры безличностного мира. Неуловимо меняется и характер пластических массовок — из демонстрации красоты и молодости они превращаются в чудовищный символ механистичности. Задушевные танцы сменяются нервозно-взвинченным фокстротом. Юные физкультурники, вызывавшие восхищение своей силой и гибкостью, уже взгромоздились на «котурны» — каждый встает на два стула и проделывает свои акробатические фигуры, двигаясь с грохотом к авансцене в зловеще-неестественном марше.
Визуальные эффекты ломают настроение общей картины, они сопровождают пронзительные сюжетные повороты. Софья Петровна узнает об арестах; на собраниях издательства, в котором она служит, остервенело осуждают диверсантов-вредителей; арестован директор издательства, еще недавно подававший жене повод для ревности, ухаживая за милой Софьей Петровной. Круг тьмы сужается (и в переносном смысле, и технически — художник по свету Глеб Фильштинский).
В спектакле нет проходных персонажей, неудавшихся актерских работ. Но все развитие действия дается через восприятие и комментарии главной героини. Именно она — крупным планом в сужающемся круге. Седельникова не только типажно совпадает со своей героиней, но играет ее трагедию профессионально точно и безжалостно. В ее Софье Петровне удивительно сочетаются искренность, наивность и ограниченность, внутренний покой и энергия деятельности. Софья Петровна так долго не имела возможностей для общественного признания, социального самовыражения, так была захвачена радостью служить идее и людям, что признаться себе — обманута! — не может. Инстинкт самосохранения заставляет ее искать оправдание арестам. Когда ужас происходящего касается ее лично, героиня Седельниковой отказывается принимать разочарование в реальности, начинает сходить с ума. Самоубийство Наташи (блестящая работа молодой актрисы Елены Ивакиной), самой грамотной и умной машинистки издательства, которую Софья Петровна опекала, за которую не побоялась публично вступиться, арест сына (удача молодого Сергея Мурашкина), известие о том, что юноша признался в террористических планах, — рождают не протест героини, а шок и уход в успокаивающие сны-галлюцинации. В этой иной, более настоящей для героини жизни сына оправдывают и отпускают, все живы и здоровы, как прежде, до начала алогичного кошмара. Софья Петровна оказывается не в состоянии воспринимать реальных людей, она не слышит доводов друга своего сына Алика, тихого еврейского мальчика, прозревшего страшную правду и не умеющего понять и простить «ослепшую» и «оглохшую» мать друга (Илья Паньков в нескольких эпизодах проживает и трагедию, и преображение своего юного героя). Более реальные, чем действительность, сны приводят Софью Петровну к абсолютному смещению восприятия мира, к настоящему, убедительно и детально сыгранному актрисой безумию. Миловидная стройная женщина превращается в выкинутую из жизни, едва передвигающую ноги старуху — потрясающее, какое-то физиологическое перевоплощение.
Контраст выглядит естественно. Ведь иллюзия красивого мира окончательно разрушена. Изначально разбитая на два мира сцена превращается в единый черный квадрат, в глубине которого вспыхивает адский фонарь. Это окошко тюрьмы, перед которым долгие часы и дни проводят в ожидании на первый взгляд безликие, черные женщины — матери и жены осужденных. И дети… Дети-актеры в «Глобусе» — не просто сентиментальный манок, они профессионально справляются с самыми сложными задачами. В эту однородную массу должна, но не хочет влиться Софья Петровна. Лязг засовов, сладострастно-циничные или жестко-деревянные голоса прокуроров, унизительно-пошлые шутки вертухаев. Таков новый единый мир, предложенный жизнью героине. Фонарь в окошке тюрьмы разверзается в финале, как двери в ад, в топку уничтожения, и обнаженный сын Софьи Петровны, ее Коленька, выкрикивает оттуда последнюю мольбу к матери о помощи — звучат слова чудом дошедшего с того света письма. Но мать уже не может слышать. Ее безумие необратимо — письмо она может только сжечь, оставляя зал наедине с едким запахом гари. После этого — мрак и тишина.
Но свет должен вновь вспыхнуть, занавес должен подняться вновь — чтобы открыть нам ту же «фотографию» наших молодых бабушек и дедушек, людей 30-х годов, сидящих в белом перед фотоаппаратом времени.
Этот спектакль Фильштинского производит на зрителей уничтожающе шоковое впечатление. Погруженные в себя, тихо выходят они из зала, как будто побывали на массовом сеансе жестокого психотерапевта, собравшего незнакомых людей вместе и заставившего сказать и услышать убийственную правду о себе. Отказаться от поддерживающих иллюзий, посмотреть на себя и на мир другими глазами. Искусство ли это? Мы не переживаем того, что принято называть катарсисом, но выходим в реальную жизнь, погруженные в реальность спектакля, и долго, очень долго возвращаемся мысленно к увиденному и пережитому.
Декабрь 2000 г.
Журнал «СЕАНС» — КРЫМСКИЙ КИНОМЕДИАЦЕНТР
«Сеанс» — это толстый черно-белый, богато иллюстрированный журнал-альманах. Выходит он не часто. Сама редакция определяет его как журнал о кино и о времени. Здесь печатаются киноведы и кинематографисты, высказывают свое мнение деятели культуры и искусства, дают советы незаурядные кинокритики, и подчас публикуются уникальные архивные материалы.
Наша аудитория — профессионалы кинематографа, а также любители кино, творческая молодежь, гуманитарии широкого профиля.
История журнала начинает свой отсчет в 1989 году, именно тогда он был задуман и создан по инициативе молодых ленинградских кинокритиков и при поддержке тогдашнего директора киностудии «Ленфильм» Александра Голутвы. Именно на «Ленфильме» «Сеанс» обретается до сих пор. Здесь наш дом и стены, которые нам помогают. Так что, если задумаете нам писать, на конверте можно указать: «Россия. Петербург. Ленфильм». Дойдет.
Первый номер «Сеанса» вышел в мае 1990 года. Журнал был задуман как профессиональное издание о кино, но уже с первого номера редакция не мыслила кинематографических штудий вне контекста, вне пространства и времени, в которых кино и журнал создаются.
Немыслим «Сеанс» и вне строгой черно-белой формы, которая пережила и журнальный глянцевый бум девяностых, новые веяния нулевых, и, как мы надеемся, переживет крах бумажных изданий в ближайшем будущем.
В 1990-м, наследуя традициям русской «формальной школы» и знаменитого французского издания Cahiers du Cinéma, объединившего будущих режиссеров «новой волны», «Сеанс» стал журналом критиков и режиссеров первого свободного поколения.
Постоянными его авторами стали: Михаил Брашинский, Сергей Добротворский, Карина Добротворская, Аркадий Ипполитов, Олег Ковалов, Татьяна Москвина, Константин Мурзенко, Сергей Николаевич, Андрей Плахов, Авдотья Смирнова, Алексей Тарханов, Михаил Трофименков, Илья Ценциппер, Дмитрий Савельев, Инна Васильева. Многие из них ныне занимают ключевые позиции в отечественных медиа или ушли покорять вершины киноиндустрии, но дебютировали они в «Сеансе».
Первый «Сеанс» вышел тиражом 50 000 экземпляров, но уже через год, после крушения всей системы обеспечения, вынужден был отправиться в «свободное плавание». Журналу удалось выжить в эпоху первоначального накопления капитала в первую очередь благодаря поддержке Александра Голутвы и киностудии «Ленфильм», Госкино России и Армена Медведева. Но также и потому, что он всегда был не только и не столько критическим органом печати, сколько клубом, художественным объединением.
С 1994 года «Сеанс» начнет издательскую, а с 1997 года — научно-исследовательскую деятельность. Издание журнала на время будет приостановлено. За шесть лет работы (с 1998 по 2004 год) редакция создаст «Энциклопедию отечественного кино. Кино и контекст» в семи томах, общим объемом более 4000 полос. В проекте примут участие более 300 специалистов.
Закончив работу над энциклопедией, «Сеанс» выйдет из научного подполья в тот момент, когда место эпохи «малокартинья» 1990-х заступит вновь оживающая киноиндустрия.
В нулевые после многолетнего кризиса в кино пришло поколение молодых режиссеров, а у журнала появились новые герои и новые авторы (Петр Багров, Алексей Гусев, Елена Грачева, Василий Степанов, Константин Шавловский). Более того, сам «Сеанс» стал киностудией, одним из самых ярких проектов которой стал фильм Любови Аркус «Антон тут рядом».
На новом витке своей жизни «Сеанс» привлекал к сотрудничеству не только профессиональных киноведов и кинокритиков, но также философов, искусствоведов, литературоведов и писателей, пытаясь расширить и углубить сферу компетентного высказывания на страницах журнала, обогатить его содержание культур-философскими смыслами дружественных искусств и наук.
Статьи для «Сеанса» писали Михаил Ямпольский, Виктор Топоров, Александр Секацкий, Михаил Ратгауз, Наталья Трауберг, Елена Андреева, Елена Фанайлова, Самуил Лурье, Дмитрий Быков и многие другие. В этот период «Сеанс» окончательно обретает визуально-смысловое единство, а каждый номер оформляется как тематическое целое: «Время проекта», «Ностальгия по девяностым», «Нулевые как триумф скорости», «Бум документального кино как симптом» и так далее.
Сегодня бумажный «Сеанс» по-прежнему выходит нечасто — два-три раза в год, причем номера становятся все толще. Но у нас все больше авторов, а ежедневный сайт позволяет нам в оперативном режиме реагировать на то, что происходит сегодня в кино.
(c) Журнал «СЕАНС»
Показ и обсуждение фильма «Тема»
30 сентября, 16:00
«Тема» Панфилова — одна из самых ярких и яростных картин позднего застоя. «„Казаться“, а не „быть“, отстаивать и пыжиться — вот о чем эта картина», — так говорил о фильме сыгравший главного героя Михаил Ульянов. Глеб Панфилов закончил работу над фильмом в августе 1979 года, но за первыми закрытыми просмотрами последовали письма в ЦК КПСС, а потом были показы высшим членам Политбюро, после которых «Тему» «положили на полку». После многократных переделок и доработок фильм показали на ММКФ в 1981-м, но новая благополучная концовка не устроила никого. Зрители ничего не знали о фильме до 17 июня 1986 года, когда состоялась премьера в московском Доме кино. А в 1987 году фильм представили на Берлинском кинофестивале, жюри которого удостоило «Тему» «Золотого медведя». Юрий Сапрыкин расскажет о «Теме» в связи с новым, 69-м номером журнала «Сеанс», на обложку которого вынесено словосочетание «Проблема поведения».
Юрий Сапрыкин (Москва) — критик, культуролог, журналист. В 1990-е годы работал на радиостанциях «Авторадио» и «Наше радио», в деловом еженедельнике «Компания». С 2000 года — в журнале «Афиша», сначала — музыкальным обозревателем, а затем — главным редактором и редакционным директором. Создатель и главный редактор интернет-проекта о русской литературе «Полка».
Куратором выступает кинокритик, шеф-редактор журнала «Сеанс» Василий Степанов.
Для зрителей старше 18 лет. Вход свободный. Количество мест ограничено. Пожалуйста, зарегистрируйтесь.
Киноклуб журнала «Сеанс»
Тематические блоки показов неразрывно связаны с темами, над которыми работает и задумывается редакция журнала и его авторы. Лекторы будут говорить о кино массовом и высоколобом, классическом и малоизвестном, открывать новые имена и заполнять неизбежные пробелы. Каждый новый номер и большой издательский проект по-новому будут осмысляться в ходе лекций и показов, которые будут проводить как авторы «Сеанса», так и приглашенные лекторы – киноведы и кинематографисты. Разговор с гостями Новой Голландии для «Сеанса» прекрасная возможность для живого разговора, в ходе которого темы номеров и книг могут получить новую интерпретацию и продолжение. Среди ближайших тем – 50-летие событий 1968 года (вокруг этой даты будет выстроен 68-й номер «Сеанса»), фильмы 1968-го и фильмы рассказывающие о 68-м, взаимные пересечения кинематографа холодной войны — маккартизма и позднего сталинизма (серия показов приурочена к выходу первого тома книги Михаила Трофименкова «Красный нуар Голливуда»), серия показов при поддержке просветительского портала «Чапаев», цель которых – ликвидировать лакуны в понимании истории советского кино, показать очертание утерянной Атлантиды этого кинематографа, выявить скрытое и рассказать нерассказанное.
Июньские встречи будут посвящены пятидесятилетию 1968-го, юбилею Фридриха Эрмлера и темам 67-го номера журнала «Сеанс» – феминизм, охота на ведьм и изменение социальных норм.
Запись активности сеанса — AWS Systems Manager
Помимо предоставления информации о текущих и завершенных сеансах в Системах
Управляющий делами
консоли, Session Manager предоставляет вам возможности для регистрации активности сеанса в
ваш AWS
учетная запись.Это позволяет делать следующее:
Создавайте и сохраняйте журналы сеансов для архивирования.
Создание отчета с подробным описанием каждого подключения к вашим экземплярам.
с помощью Session Manager за последние 30 дней.Создавать уведомления об активности сеанса в вашей учетной записи AWS, например
Уведомления Amazon Simple Notification Service (Amazon SNS).Автоматически инициировать другое действие на ресурсе AWS в результате
активность сеанса, например запуск функции AWS Lambda, запуск AWS CodePipeline
конвейер или запуск документа AWS Systems Manager Run Command.
Обратите внимание на следующие требования и ограничения для Session Manager:
Session Manager регистрирует команды, которые вы вводите, и их вывод во время сеанса
в зависимости от ваших предпочтений сеанса.Чтобы предотвратить конфиденциальные данные, такие как
пароли, для просмотра в журналах сеансов мы рекомендуем использовать
следующие команды при вводе конфиденциальных данных во время сеанса.- Linux
stty -echo; читать passwd; stty echo;
- Окна
$ Passwd = Read-Host -AsSecureString
Если вы используете Windows Server 2012 или более раннюю версию, данные в ваших журналах
может быть отформатирован неправильно.Мы рекомендуем использовать Windows Server 2012 R2
и более поздних версий для оптимального формата журнала.Если вы используете экземпляры Linux или macOS, убедитесь, что
Утилита screen установлена.Если это не так,
данные вашего журнала могут быть усечены. В Amazon Linux, Amazon Linux 2 и Ubuntu Server:
в
Утилита screen установлена по умолчанию. К
установить экран вручную, в зависимости от вашего
версия Linux, запуститеsudo yum install screen
или
sudo apt-get экран установки
.Ведение журнала недоступно для сеансов диспетчера сеансов, которые подключаются через
переадресация портов или SSH. Это связано с тем, что SSH шифрует все данные сеанса, а сеанс
Менеджер служит только
туннель для SSH-соединений.
Для получения дополнительной информации о разрешениях, необходимых для использования Amazon S3 или Amazon CloudWatch.
Журналы для
запись данных сеанса, см. Создание
профиль экземпляра с разрешениями для Session Manager, Amazon S3 и CloudWatch
Журналы
(консоль).
Дополнительные сведения о параметрах ведения журнала для
Менеджер сеанса.
Потоковая передача данных сеанса с использованием
Журналы Amazon CloudWatch (консоль)
В Amazon CloudWatch Logs можно отправлять непрерывный поток журналов данных сеанса.Существенный
детали, такие как команды, которые пользователь выполнил в сеансе, идентификатор пользователя, который запустил
команды и отметки времени, когда данные сеанса передаются в CloudWatch Logs,
находятся
включается при потоковой передаче данных сеанса. При потоковой передаче данных сеанса журналы
В формате JSON, чтобы помочь вам интегрироваться с существующими решениями для ведения журналов.Потоковая передача
данные сеанса не поддерживаются для интерактивных команд.
Для потоковой передачи данных сеанса из экземпляров Windows Server у вас должен быть PowerShell 5.1.
или более поздней версии. По умолчанию Windows Server 2016 и более поздние версии имеют необходимые
Установлена версия PowerShell.Однако Windows Server 2012 и 2012 R2 не имеют
по умолчанию установлена необходимая версия PowerShell. Если вы еще не
обновил PowerShell на ваших экземплярах Windows Server 2012 или 2012 R2, вы можете это сделать
используя команду «Выполнить». Дополнительные сведения об обновлении PowerShell с помощью команды «Выполнить» см. В разделе Обновление PowerShell с помощью
Команда выполнения.
Если у вас есть параметр политики PowerShell Transcription
настроен на ваших экземплярах Windows Server, вы не сможете транслировать сеанс
данные.
Для потоковой передачи данных сеанса с помощью Amazon CloudWatch Logs (консоль)
Откройте консоль AWS Systems Manager по адресу https://console.aws.amazon.com/systems-manager/.
На панели навигации выберите Session Manager .
Выберите вкладку Preferences , а затем выберите
Редактировать .Установите флажок рядом с Включить в
Ведение журнала CloudWatch .Выберите опцию Журналы потоковых сеансов .
(рекомендуется) Установите флажок рядом с Разрешить только зашифрованные
Группы журналов CloudWatch . Если этот параметр включен, данные журнала
зашифровано с использованием ключа шифрования на стороне сервера, указанного для группы журналов.Если вы не хотите шифровать данные журнала, отправляемые в CloudWatch Logs, снимите флажок
в
флажок. Вы также должны снять этот флажок, если шифрование не включено на
группа журналов.Для журналов CloudWatch , чтобы указать существующий журнал CloudWatch Logs
группы в своей учетной записи AWS для загрузки журналов сеанса, выберите один из
следующий:Введите имя группы журналов в текстовое поле, которое уже
был создан в вашей учетной записи для хранения данных журнала сеанса.Обзор групп журналов : Выберите группу журналов,
уже был создан в вашей учетной записи для хранения журнала сеансов
данные.
Выберите Сохранить .
Запись данных сеанса с помощью Amazon S3
(консоль)
Вы можете выбрать сохранение данных журнала сеанса в указанном сегменте S3 для отладки.
и в целях устранения неполадок.По умолчанию журналы отправляются на
зашифрованное ведро S3. Шифрование выполняется с использованием ключа, указанного для ведра,
либо ключ AWS Key Management Service (AWS KMS), либо шифрование на стороне сервера Amazon S3
(SSE) ключ
(AES-256).
Когда вы используете сегменты виртуального хостинга с Secure Sockets Layer (SSL),
Подстановочный сертификат SSL соответствует только сегментам, не содержащим точек.К
обойти это, использовать HTTP или написать собственную логику проверки сертификата. Мы
не рекомендуется использовать точки («.») в именах сегментов при использовании виртуальных
ведра в размещенном стиле.
Шифрование сегмента S3
Для отправки журналов в корзину S3 с шифрованием необходимо, чтобы шифрование
включен на ведре.Для получения дополнительной информации о шифровании сегмента S3 см.
Шифрование по умолчанию Amazon S3 для
Ковши S3.
Под управлением клиента CMK
Если вы используете главный ключ клиента AWS KMS (CMK), которым вы управляете самостоятельно
(CMK, управляемый клиентом) для шифрования сегмента, затем профиль экземпляра IAM
прикрепленные к вашим экземплярам, должны иметь явные разрешения на чтение CMK.Если
вы используете CMK, управляемый AWS, экземпляр не требует этого явного
разрешение. Для получения дополнительной информации о предоставлении профиля экземпляра
доступ к использованию CMK, см. Разрешает
Ключевые пользователи, использующие CMK в
Руководство разработчика AWS Key Management Service .
Выполните следующие действия, чтобы настроить диспетчер сеансов для хранения журналов сеансов в Amazon.
S3
ведро.
Для регистрации данных сеанса с помощью Amazon S3 (консоль)
Откройте консоль AWS Systems Manager по адресу https://console.aws.amazon.com/systems-manager/.
На панели навигации выберите Session Manager .
Выберите вкладку Preferences , а затем выберите
Редактировать .Установите флажок рядом с Включить в
S3 регистрация .(рекомендуется) Установите флажок рядом с Разрешить только зашифрованные
Ковши S3 . Если этот параметр включен, данные журнала шифруются.
с использованием ключа шифрования на стороне сервера, указанного для корзины.Если ты не
хотите зашифровать данные журнала, отправляемые в Amazon S3, снимите флажок. Ты
также необходимо снять флажок, если шифрование не включено на S3.
ведро.Для S3 bucket name выберите одно из
следующий:Мы не рекомендуем использовать точки («.») в именах сегментов, когда
с использованием виртуальных ведер в стиле хостинга. Для получения дополнительной информации о S3
соглашения об именах ведра, см. Bucket
Ограничения в Руководстве разработчика Amazon Simple Storage Service .Выберите имя сегмента из списка : Выберите
Корзина S3, которая уже была создана в вашей учетной записи для хранения
данные журнала сеанса.Введите имя сегмента в текстовое поле : Введите
имя корзины S3, которая уже была создана в вашем
учетная запись для хранения данных журнала сеанса.
(Необязательно) Для префикса ключа S3 введите имя
существующая или новая папка для хранения журналов в выбранном сегменте.Выберите Сохранить .
Для получения дополнительной информации о работе с корзинами Amazon S3 и S3 см.
Руководство по началу работы с Amazon Simple Storage Service и
Руководство пользователя консоли Amazon Simple Storage Service .
Запись данных сеанса с использованием
Журналы Amazon CloudWatch (консоль)
С помощью Amazon CloudWatch Logs вы можете отслеживать, хранить и получать доступ к файлам журналов из различных
AWS
Сервисы.Вы можете отправить данные журнала сеанса в группу журналов CloudWatch Logs для отладки.
и
в целях устранения неполадок. По умолчанию данные журнала отправляются с
шифрование с помощью ключа AWS KMS, но вы можете отправить данные в свою группу журналов с помощью
или же
без шифрования.
Выполните следующие действия, чтобы настроить диспетчер сеансов для отправки данных журнала сеанса в CloudWatch.
Журнал журналов
группа в конце ваших занятий.
Для регистрации данных сеанса с помощью Amazon CloudWatch Logs (консоль)
Откройте консоль AWS Systems Manager по адресу https://console.aws.amazon.com/systems-manager/.
На панели навигации выберите Session Manager .
Выберите вкладку Preferences , а затем выберите
Редактировать .Установите флажок рядом с Включить в
Ведение журнала CloudWatch .Выберите опцию Загрузить журналы сеанса .
(рекомендуется) Установите флажок рядом с Разрешить только зашифрованные
Группы журналов CloudWatch .Если этот параметр включен, данные журнала
зашифровано с использованием ключа шифрования на стороне сервера, указанного для группы журналов.
Если вы не хотите шифровать данные журнала, отправляемые в CloudWatch Logs, снимите флажок
в
флажок. Вы также должны снять этот флажок, если шифрование не включено на
группа журналов.Для журналов CloudWatch , чтобы указать существующий журнал CloudWatch Logs
группы в своей учетной записи AWS для загрузки журналов сеанса, выберите один из
следующий:Выберите группу журналов из списка : Выберите
группа журналов, которая уже была создана в вашей учетной записи для хранения
данные журнала сеанса.Введите имя группы журналов в текстовое поле : Введите
имя группы журналов, которая уже была создана в вашем
учетная запись для хранения данных журнала сеанса.
Выберите Сохранить .
Для получения дополнительной информации о работе с CloudWatch Logs см.
Руководство пользователя Amazon CloudWatch Logs .
Сессии и файлы cookie
Сеанс — это группа взаимодействий между пользователем и приложением, которые происходят в течение заданного периода времени. Один сеанс может содержать несколько действий (таких как просмотры страниц, события, социальные взаимодействия и транзакции электронной торговли), все из которых сеанс временно сохраняет, пока пользователь подключен.
По умолчанию, когда пользователь покидает веб-сайт или закрывает свой браузер, его сеанс завершается.Чтобы пользователям не приходилось входить в систему каждый раз, когда они возвращаются, приложения могут расширять сеансы, сохраняя информацию о сеансе в файле cookie. Сеансы заканчиваются, когда пользователь выходит из системы или когда достигаются ограничения времени существования сеанса. Сброс пароля приводит к истечению срока действия сеансов Auth0.
Подробности см. В Политике конфиденциальности и использования файлов cookie Auth0.
Примеры обработки сеанса см. В следующих кратких руководствах:
Обычно при входе пользователей в систему можно создать три уровня сеанса:
Уровень сеанса приложения : Этот уровень является сеансом внутри вашего приложения.Хотя ваше приложение использует Auth0 для аутентификации пользователей, оно также отслеживает, что пользователь вошел в ваше приложение; Например, в обычном веб-приложении это достигается за счет сохранения этой информации в файле cookie.
Auth0 Session Layer : Auth0 также поддерживает сеанс на сервере авторизации для пользователя и сохраняет информацию о пользователе в файле cookie. Этот уровень используется для того, чтобы в следующий раз, когда пользователь будет перенаправлен на Auth0 для входа в систему, информация пользователя будет сохранена.Этот уровень сеанса делает возможным использование единого входа для реализаций входящего единого входа.
Уровень сеанса поставщика удостоверений : когда пользователи пытаются войти в систему с помощью поставщиков удостоверений, таких как Facebook или Google, и у них уже есть действительный вход (с любым поставщиком, который они выберут), им не будет предложено снова войти в систему. войдите в систему, хотя их могут попросить разрешить поделиться своей информацией с Auth0 и, в свою очередь, с вашим приложением.
Было ли это видео полезным? Да Нет
Выход из системы в контексте реализаций Auth0 — это акт завершения аутентифицированного сеанса.Лучшим способом безопасности является завершение сеансов, когда они больше не нужны, чтобы избежать возможного захвата неавторизованными сторонами.
Auth0 предоставляет инструменты, которые помогут вам дать пользователям возможность выйти из системы; это включает в себя параметры для обеспечения различных уровней выхода из системы, а также определение того, где будет находиться пользователь после завершения выхода.
Выход из сеанса уровня приложения : Выход пользователей из ваших приложений обычно приводит к очистке их сеанса приложения, и это должно обрабатываться вашим приложением: для уровня сеанса приложения в вашем клиенте Auth0 нет ничего, что вы необходимо использовать для облегчения завершения сеанса.Это потребует от вас использования любого используемого стека сеанса приложения для очистки любой информации, связанной с сеансом. Обратите внимание, что некоторые SDK Auth0 действительно обеспечивают некоторую поддержку сеансов приложений; пожалуйста, проверьте документацию, чтобы узнать, нужно ли удалить какой-либо локальный сеанс SDK.
Auth0 Session Layer Logout : вы можете выводить пользователей из уровня сеанса Auth0, перенаправив их на конечную точку выхода Auth0, чтобы Auth0 мог очистить файл cookie SSO.
Identity Provider Session Layer Logout : Нет необходимости выводить пользователей из этого сеансового уровня, но вы можете использовать Auth0 для принудительного выхода из системы, если это необходимо.
Для выхода из уровня сеанса Auth0 вам потребуется перенаправить пользователя на https: //
YOUR_TENANT.auth0.com> / v2 / logout
- обычно выполняется с помощью соответствующего метода в SDK Auth0 для вашего технологического стека. Это очистит вашу сессию Auth0.Вы также можете добавить параметр запроса для этого запроса с именем returnTo
- этот параметр должен содержать предварительно зарегистрированный URL-адрес, который защищает вас от атак с открытым перенаправлением.
Auth0 перенаправляет URL-адреса из белого списка только после выхода из системы, и есть два места, где вы можете их настроить. Первое место, где вы можете установить это, - это уровень вашего клиента Auth0, где вы можете поместить набор URL-адресов выхода, которые являются общими для всех приложений. Второе место находится в настройках приложения: если вам нужны разные перенаправления для каждого приложения, вы можете занести URL-адреса в белый список в настройках приложения.Это позволяет вам устанавливать URL-адреса выхода в контексте конкретного приложения.
Время существования сеанса и тайм-аут сеанса
Вы можете настроить поведение в случаях, когда пользователь не выходит из вашего приложения явным образом. Auth0 предусматривает ограничения времени жизни сеанса, чтобы иметь дело с завершением сеанса Auth0 в этом сценарии.
Вы также можете выводить пользователей из уровня сеанса провайдера идентификации. Хотя это не рекомендуется, для многих поставщиков Auth0 обеспечивает такое поведение, добавляя параметр запроса federated
к перенаправлению на / v2 / logout
.Это перенаправляет пользователя к своему провайдеру идентификации и также регистрирует его там.
Пределы времени существования сеанса определяют, как долго система должна сохранять сеанс входа в систему. В Auth0 можно настроить два параметра времени существования сеанса:
Тайм-аут бездействия : период времени, по истечении которого сеанс пользователя истечет, если он не взаимодействовал с сервером авторизации. Будут заменены системными ограничениями, если более 3 дней для планов самообслуживания или 100 дней для корпоративных планов.
Требовать входа в систему после : Период времени, по истечении которого пользователю потребуется снова войти в систему, независимо от его активности. Будут заменены системными ограничениями, если более 30 дней для планов самообслуживания или 365 дней для корпоративных планов.
Эти параметры настраиваются на арендаторе; вы можете настроить их с помощью панели инструментов Auth0 или Management API.
При использовании URL-адресов выхода из системы для конкретного приложения необходимо учитывать две важные вещи:
Вы, , должны отправить
client_id
в качестве параметра запроса при вызове конечной точки/ v2 / logout
иreturnTo
URL должен быть в списке разрешенных URL-адресов для выхода из системы.Это завершит сеанс Auth0 для всего клиента, то есть для всех определенных приложений, а не только того, которое соответствует предоставленному
client_id
. Передачаclient_id
сообщает конечной точке /logout
, где искать белый список URL-адресов выхода.
После выхода пользователя из системы Auth0 будет перенаправлять только на URL-адрес, указанный в этом списке.
Если вы перенаправляете пользователя обратно в приложение после выхода из системы, а приложение перенаправляет на провайдер идентификации, у которого все еще есть аутентифицированный сеанс для этого пользователя, пользователь автоматически войдет в ваше приложение, и может показаться, что выхода из системы не было работай.В этих случаях мы рекомендуем, чтобы у вас была конкретная целевая страница выхода в вашем приложении, чтобы вы могли сообщить пользователю, что он успешно вышел из системы, и, при желании, вы также можете предупредить его, что он все еще может войти в систему своего поставщика удостоверений.
В случае, если пользователь не предпринял никаких действий, вызывающих обновление сеанса Auth0, мы рекомендуем вам предупредить пользователя о том, что он выбрал явное продолжение сеанса. Цель этого подхода позволяет сеансу оставаться неактивным, если пользователь больше не присутствует, но в противном случае предоставляет средства для запуска тихого обновления токена, чтобы они могли продолжить свой сеанс без необходимости повторного запроса учетных данных.
Таймер бездействия : добавьте скользящий таймер в оболочку React SDK, который соответствует максимальному времени простоя сеанса Auth0. Каждый раз, когда токен возвращается в приложение, сбрасывайте таймер.
Модальное окно тайм-аута : Когда таймер достигает 60 секунд после истечения срока, модальное окно тайм-аута должно отображать запрос пользователя на выход из системы или продолжение сеанса.
Продолжить сеанс : Если пользователь решает продолжить сеанс, используйте метод
getTokenSilently ()
для запроса нового токена без перенаправления пользователя со страницы, с которой он в данный момент взаимодействует.Выход из системы : В случае, если пользователь выбирает выход из системы, следует вызвать метод
logout ()
, чтобы гарантировать завершение сеанса Auth0.Тайм-аут простоя : В случае, если истечет время ожидания простоя, немедленных действий не требуется. Чтобы справиться с тем фактом, что пользователь все еще может быть активным на другой вкладке, поведение не должно заключаться в в выходе пользователя из системы.
Другие варианты включают обновление модального окна с помощью кнопки входа в систему с помощью окна.onfocus для запуска
getTokenSilently ()
или перенаправления пользователя на целевую страницу.
Управление сеансом
Управление сеансом
в qTest основано на типе приобретенной лицензии, параллельной или именованной. Оба эти типа лицензий следуют правилу максимум 3 активных веб-сеанса на пользователя. Однако сеансы API не учитываются в этих сеансах, что означает, что пользователь вошел в систему с помощью API или из Desktop Explorer или Web Explorer.
Активных сеансов
открытие qTest на нескольких вкладках одного и того же веб-браузера, считается одним и тем же сеансом
входа в qTest с использованием одних и тех же учетных данных в разных веб-браузерах, считается как различных сеансов
вход в qTest с использованием одних и тех же учетных данных на разных компьютерах, считается как различных сеансов
вход в qTest с использованием веб-браузера и API, считается как различных сеансов
Закрытие обозревателя или вкладки обозревателя не завершает сеанс.Чтобы завершить сеанс, пользователь должен вручную выйти из qTest.
Завершить сеанс
После достижения лимита сеанса пользователям не разрешается входить в qTest. Когда лимит сеанса пользователя достигнут, отображается модальное диалоговое окно «Завершить сеанс», которое позволяет пользователю вручную завершить свои собственные сеансы, выбрав красный значок X и разрешив пользователю войти в qTest.
Управление сеансом администратора сайта
Администраторы сайта
могут просматривать и вручную завершать активные сеансы пользователей.Администраторы сайта также могут настроить систему на автоматическое завершение пользовательских сеансов, которые бездействовали в течение определенного времени. Эта функция находится на странице «Лицензии и пользователи» в qTest.
Как использовать отчет журнала сеансов
По мере того, как мы подходим к последней главе этого руководства, мы хотели бы показать вам отчет, который отображает каждое отслеживаемое действие, совершенное посетителем на вашем веб-сайте.Например, просмотрел страницу с ценами, прокрутил 50%, нажал кнопку регистрации и выполнил цель, определенную как подписка на приложение. Всю эту информацию можно просмотреть в отчете журнала сеансов . Мы не случайно поместили этот отчет в конец этого руководства, потому что теперь мы можем видеть все, что мы настроили, в логах. Давайте взглянем.
Просмотр отчета журнала сеанса
Чтобы получить доступ к отчету журнала сеанса, выполните следующие действия:
- Перейти в меню > Аналитика (новый) .
- Перейдите к Отчеты .
- Слева нажмите Журнал сеансов .
- Просмотреть отчет.
Каждый журнал из отчета будет содержать множество ценной информации. В разделе слева показаны дата, IP-адрес, тип входа - прямой, веб-сайт или кампания, интернет-провайдер - пользовательские параметры, если вы их настроили, новый или вернувшийся посетитель, страна, браузер, операционная система, устройство. тип и достигнутые конверсии.
В разделе справа рассказывается, какие действия посетитель совершил на вашем сайте.Если вы настроили отслеживание пользовательских событий и целей, эти действия будут отображаться в этом разделе.
Мы рекомендуем вам просмотреть этот отчет и ознакомиться с хранящимися в нем данными. Через некоторое время вы почувствуете себя комфортно, читая этот отчет, как карту, показывающую поведение посетителя. Давайте рассмотрим пример.
Пример журнала сеанса
Следующий журнал может рассказать нам, как наш посетитель перемещался по веб-сайту Clear Bank и какие действия он или она предприняли.
Сначала посетитель провел некоторое время на домашней странице очистить банк /
, затем щелкнул пункт меню преимущества
, просмотрел страницу clearbank / преимущества
, щелкнул элемент меню Без комиссий
, потратил некоторое время на страница clearbank / no-fee
, нажал кнопку регистрации, прошел процесс регистрации clearbank / sign-up
> clearbank / contact-info
> clearbank / identity
> clearbank / success
, достиг цели Регистрация в приложении
и нажали кнопку входа в систему.
Из этого журнала мы также узнаем, что посетитель зашел на веб-сайт напрямую и использовал мобильное устройство с Safari и iOS. Наведя курсор на значки (как мы показали выше), мы можем получить дополнительную информацию об устройстве и местоположении посетителя.
Мы хотим вам показать еще кое-что. В отчете вы можете увидеть такие действия, как нажатие на пункт меню, кнопку или достижение цели. Но если мы не настроили отслеживание для этих элементов, в нашем отчете будут отображаться только страницы, на которые смотрел посетитель.Как в примере ниже.
Таким образом, всякий раз, когда вы устанавливаете настраиваемое событие с триггерами, такими как нажатие кнопки или подписка на информационный бюллетень, оно будет дополнять ваш отчет журнала посетителей этими данными. Более того, когда вы начинаете отслеживать эти элементы, журнал сеанса всегда покажет вам, правильно ли собираются данные. Помните об этом и используйте этот отчет для проверок.
Вишня сверху
В отчете журнала сеансов вы также можете найти сеансы посетителей, объединенные вместе.В этом отчете хранится информация обо всех сеансах посещения нашего веб-сайта посетителем и всех выполненных им действиях. Это кладезь информации, и если вы хотите изучить поведение людей, которые заходят на ваш сайт, вам понравится этот отчет.
Чтобы получить доступ к сеансам посетителей, выполните следующие действия:
- В отчете журнала сеансов щелкните Просмотреть сеансы посетителей .
- Просмотреть отчет.
И вот мы подошли к концу этого руководства.Мы уверены, что после изучения стольких тем вы почувствуете себя обогащенными новыми знаниями и навыками. Пришло время сделать рывок самостоятельно - экспериментируйте, экспериментируйте и еще больше экспериментируйте. Помните, что ваш бизнес и ваш веб-сайт уникальны, и ваша задача - узнать, как лучше всего отслеживать, собирать и анализировать данные для вашей конкретной организации. Желаем всего наилучшего в вашем путешествии. Прощай!
Flask-Login - документация Flask-Login 0.4.1
Flask-Login обеспечивает управление пользовательскими сеансами для Flask.Он обрабатывает общие
задачи входа, выхода и запоминания сеансов ваших пользователей
длительные периоды времени.
Будет:
- Сохранение идентификатора активного пользователя в сеансе и возможность входа и выхода
с легкостью. - Позволяет ограничивать просмотры только вошедшими (или вышедшими) пользователями.
- Управляет обычно сложной функцией «запомнить меня».
- Помогите защитить сеансы ваших пользователей от кражи кражами файлов cookie.
- Возможна интеграция с Flask-Principal или другими расширениями авторизации
позже.
Однако это не так:
- Навязать вам конкретную базу данных или другой метод хранения. Ты
полностью отвечает за загрузку пользователя. - Запрещает вам использовать имена пользователей и пароли, идентификаторы OpenID или любой другой метод.
аутентификации. - Обработка разрешений помимо «залогинен или нет».
- Обработка регистрации пользователя или восстановления учетной записи.
Установка
Установите расширение с pip:
$ pip install flask-login
Настройка приложения
Наиболее важной частью приложения, использующего Flask-Login, является
LoginManager
класс.Вы должны создать его для своего приложения где-нибудь в
ваш код, например:
login_manager = LoginManager ()
Диспетчер входа в систему содержит код, который позволяет вашему приложению и Flask-Login
работать вместе, например, как загрузить пользователя из идентификатора, куда отправлять пользователей, когда
им нужно авторизоваться и тому подобное.
После создания фактического объекта приложения вы можете настроить его для
войти с помощью:
login_manager.init_app (приложение)
По умолчанию Flask-Login использует сеансы для аутентификации.Это означает, что вы должны
установите секретный ключ в своем приложении, иначе Flask выдаст вам
сообщение об ошибке с указанием сделать это. См. Документацию Flask по сеансам
чтобы узнать, как установить секретный ключ.
Предупреждение: УБЕДИТЕСЬ использовать данную команду в
Раздел «Как сгенерировать хорошие секретные ключи», чтобы сгенерировать свой собственный секретный ключ.
НЕ ИСПОЛЬЗУЙТЕ пример.
Как это работает
Вам нужно будет предоставить обратный вызов user_loader
. Этот обратный вызов
используется для перезагрузки объекта пользователя из идентификатора пользователя, хранящегося в сеансе.Это
должен взять unicode
ID пользователя и вернуть соответствующего пользователя
объект. Например:
@ login_manager.user_loader def load_user (user_id): вернуть User.get (user_id)
Он должен вернуть Нет
( не вызывает исключения ), если идентификатор недействителен.
(В этом случае идентификатор будет вручную удален из сеанса, и обработка
продолжу.)
Ваш пользовательский класс
Класс, который вы используете для представления пользователей, должен реализовать эти свойства.
и методы:
-
is_authenticated
- Это свойство должно возвращать
True
, если пользователь аутентифицирован, т.е.е. Oни
предоставили действительные учетные данные. (Только авторизованные пользователи будут выполнять
критерииlogin_required
.) -
активный
- Это свойство должно возвращать
True
, если это активный пользователь - дополнительно
для аутентификации, они также активировали свою учетную запись, а не были
приостановлено, или любое условие вашего приложения для отклонения учетной записи.
Неактивные учетные записи не могут войти в систему (конечно, без принуждения). -
is_anonymous
- Это свойство должно вернуть
True
, если это анонимный пользователь.(Действительный
вместо этого пользователи должны возвращатьFalse
.) -
get_id ()
- Этот метод должен возвращать
unicode
, который однозначно идентифицирует этого пользователя,
и может использоваться для загрузки пользователя изuser_loader
Перезвоните. Обратите внимание, что этот должен быть юникодом
int
или какой-либо другой тип, вам нужно будет преобразовать его вunicode
.
Чтобы упростить реализацию класса пользователя, вы можете унаследовать от UserMixin
,
который предоставляет реализации по умолчанию для всех этих свойств и методов.(Однако это не обязательно.)
Пример входа
После аутентификации пользователя вы входите в систему с помощью login_user
функция.
Например:
@ app.route ('/ login', methods = ['GET', 'POST']) def login (): # Здесь мы используем какой-то класс для представления и проверки наших # данные клиентской формы. Например, WTForms - это библиотека, которая будет # обрабатываем это за нас, и мы используем настраиваемую LoginForm для проверки. form = LoginForm () если форма.validate_on_submit (): # Войдите и подтвердите права пользователя. # пользователь должен быть экземпляром вашего класса `User` login_user (пользователь) flask.flash ('Успешный вход в систему.') next = flask.request.args.get ('следующий') # is_safe_url должен проверять, безопасен ли URL для перенаправления. # См. Пример на http://flask.pocoo.org/snippets/62/. если не is_safe_url (далее): вернуть flask.abort (400) вернуть flask.redirect (next или flask.url_for ('index')) возвратная колба.render_template ('login.html', форма = форма)
Предупреждение: Вы ДОЛЖНЫ проверить значение следующего параметра
. Если ты не,
ваше приложение будет уязвимо для открытых перенаправлений. Для примера
реализация is_safe_url
см. этот фрагмент Flask.
Это так просто. Затем вы можете получить доступ к зарегистрированному пользователю с помощью
current_user
прокси, который доступен в каждом шаблоне:
{% если current_user.is_authenticated%} Привет, {{current_user.имя }}! {% endif%}
Просмотры, требующие авторизации ваших пользователей, могут быть
украшен login_required
декоратор:
@ app.route ("/ настройки") @login_required def settings (): проходить
Когда пользователь готов выйти из системы:
@ app.route ("/ выход из системы") @login_required def logout (): logout_user () вернуть перенаправление (где-то)
Они выйдут из системы, и все файлы cookie для их сеанса будут удалены.
Настройка процесса входа в систему
По умолчанию, когда пользователь пытается получить доступ к представлению login_required
без
при входе в систему Flask-Login выдаст сообщение и перенаправит их на
войти в просмотр.(Если представление входа в систему не задано, оно будет прервано с ошибкой 401.)
Имя журнала в представлении может быть установлено как LoginManager.login_view
.
Например:
login_manager.login_view = "users.login"
По умолчанию отображается сообщение Пожалуйста, войдите в систему, чтобы получить доступ к этой странице.
Кому
настроить сообщение, установить LoginManager.login_message
:
login_manager.login_message = u "Bonvolu Ensaluti por uzi tiun paĝon."
Чтобы настроить категорию сообщений, установите LoginManager.login_message_category
:
login_manager.login_message_category = "информация"
Когда журнал в представлении перенаправлен на, он будет иметь следующую переменную
в
строка запроса, которая представляет собой страницу, к которой пытался получить доступ пользователь. В качестве альтернативы,
если USE_SESSION_FOR_NEXT
- True
, страница сохраняется в сеансе под
ключ следующий
.
Если вы хотите дополнительно настроить процесс, украсьте функцию
LoginManager.unauthorized_handler
:
@ login_manager.unauthorized_handler def unauthorized (): # делать что-нибудь вернуть a_response
Пользовательский вход с использованием загрузчика запросов
Иногда вы хотите, чтобы пользователи входили в систему без использования файлов cookie, например, используя заголовок
значения или ключ API, переданный в качестве аргумента запроса. В этих случаях вам следует использовать
обратный вызов request_loader
. Этот обратный вызов должен вести себя
то же, что и ваш обратный вызов user_loader
, за исключением того, что он принимает
Запрос Flask вместо user_id.
Например, для поддержки входа в систему как из аргумента URL, так и из базовой аутентификации
используя заголовок Authorization
:
@ login_manager.request_loader def load_user_from_request (запрос): # сначала попробуйте войти, используя api_key url arg api_key = request.args.get ('api_key') если api_key: user = User.query.filter_by (api_key = api_key) .first () если пользователь: возвратный пользователь # затем попробуйте войти в систему, используя базовую аутентификацию api_key = request.headers.get ('Авторизация') если api_key: api_key = api_key.replace ('Базовый', '', 1) пытаться: api_key = base64.b64decode (api_key) кроме TypeError: проходить user = User.query.filter_by (api_key = api_key) .first () если пользователь: возвратный пользователь # наконец, вернуть None, если оба метода не вошли в систему пользователя return None
анонимных пользователей
По умолчанию, когда пользователь фактически не вошел в систему, для current_user
установлено значение
объект AnonymousUserMixin
.Он имеет следующие свойства и методы:
-
is_active
иis_authenticated
являютсяFalse
-
is_anonymous
isTrue
-
get_id ()
возвращаетНет
Если у вас есть особые требования для анонимных пользователей (например, им нужно
чтобы иметь поле разрешений), вы можете предоставить вызываемый объект (либо класс, либо
factory), который создает анонимных пользователей для LoginManager
с:
login_manager.anonymous_user = MyAnonymousUser
Помни меня
По умолчанию, когда пользователь закрывает свой браузер, сеанс Flask удаляется.
и пользователь вышел из системы. «Запомнить меня» предотвращает случайное
выходят из системы при закрытии браузера. Это НЕ означает
запоминание или предварительное заполнение имени пользователя или пароля в форме входа в систему
после выхода пользователя из системы.
Функцию
«Запомнить меня» бывает сложно реализовать. Однако Flask-Login
делает его почти прозрачным - просто передайте Remember = True
в login_user
вызов.На компьютере пользователя будет сохранен файл cookie, а затем Flask-Login
автоматически восстановит идентификатор пользователя из этого файла cookie, если его нет в
сеанс. Время до истечения срока действия cookie можно установить с помощью
REMEMBER_COOKIE_DURATION
или ее можно передать login_user
.
Файл cookie защищен от несанкционированного доступа, поэтому, если пользователь вмешивается в него (т. Е.
вставляет чужой идентификатор пользователя вместо своего), файл cookie просто
быть отвергнутым, как если бы его там не было.
Этот уровень функциональности обрабатывается автоматически.Однако вы можете (и
должен, если ваше приложение обрабатывает какие-либо конфиденциальные данные) предоставить
дополнительная инфраструктура для повышения безопасности ваших запоминаемых файлов cookie.
Альтернативные жетоны
Использование идентификатора пользователя в качестве значения запоминающего токена означает, что вы должны изменить
идентификатор пользователя, чтобы аннулировать его сеансы входа в систему. Один из способов улучшить это - использовать
альтернативный идентификатор пользователя вместо идентификатора пользователя. Например:
@ login_manager.user_loader def load_user (user_id): вернуть пользователя.query.filter_by (альтернативный_ид = идентификатор_пользователя) .first ()
Тогда метод get_id
вашего класса User вернет
альтернативный идентификатор вместо основного идентификатора пользователя:
def get_id (сам): вернуть unicode (self.alternative_id)
Таким образом, вы можете изменить альтернативный идентификатор пользователя на новый случайным образом
генерируемое значение, когда пользователь меняет свой пароль, что гарантирует их
старые сеансы аутентификации перестанут быть действительными. Обратите внимание, что альтернатива
id по-прежнему должен однозначно идентифицировать пользователя ... думайте об этом как о втором идентификаторе пользователя.
Свежие логины
Когда пользователь входит в систему, его сеанс помечается как «свежий», что означает, что
они действительно аутентифицировались на этом сеансе. Когда их сеанс уничтожен
и они снова вошли в систему с помощью файла cookie «запомнить меня», он помечен как
«Несвежий». login_required
не различает свежесть, которая
подходит для большинства страниц. Однако такие деликатные действия, как изменение чьего-то
личная информация должна требовать нового входа в систему. (Действия вроде изменения
пароль всегда должен требовать повторного ввода пароля, независимо от того.)
fresh_login_required
, в дополнение к проверке того, что пользователь вошел в систему
in, также гарантирует, что их логин будет свежим. Если нет, он отправит их на
страница, на которой они могут повторно ввести свои учетные данные. Вы можете настроить его
поведение так же, как вы можете настроить login_required
, установив
LoginManager.refresh_view
, needs_refresh_message
и
needs_refresh_message_category
:
login_manager.refresh_view = "учетные записи.повторно аутентифицировать " login_manager.needs_refresh_message = ( u «Чтобы защитить свою учетную запись, повторно авторизуйтесь для доступа к этой странице». ) login_manager.needs_refresh_message_category = "информация"
Или предоставив свой собственный обратный вызов для обработки обновления:
@ login_manager.needs_refresh_handler def refresh (): # делать что-нибудь вернуть a_response
Чтобы снова пометить сеанс как новый, вызовите функцию confirm_login
.
Настройки файлов cookie
Детали файла cookie можно настроить в настройках приложения.
REMEMBER_COOKIE_NAME | Имя файла cookie для хранения «запомнить меня». информация в формате. По умолчанию: Remember_token |
REMEMBER_COOKIE_DURATION | Время до истечения срока действия cookie, как объект datetime.timedelta или целые секунды.По умолчанию: 365 дней (1 невисокосный год по григорианскому календарю) |
REMEMBER_COOKIE_DOMAIN | Если cookie «Запомнить меня» должен пересекать домены, установите здесь значение домена (т.е.е. .example.com позволит использовать cookie на всех поддомены example.com ).По умолчанию: Нет |
REMEMBER_COOKIE_PATH | Ограничивает cookie «Запомнить меня» определенным путем. По умолчанию: / |
REMEMBER_COOKIE_SECURE | Ограничивает область действия файла cookie «Запомнить меня» до защищенные каналы (обычно HTTPS). По умолчанию: Нет |
REMEMBER_COOKIE_HTTPONLY | Предотвращает сохранение файла cookie «Запомнить меня». доступ осуществляется клиентскими скриптами. По умолчанию: Ложь |
REMEMBER_COOKIE_REFRESH_EACH_REQUEST | Если установлено значение True , cookie обновляется каждый раз.запрос, который увеличивает время жизни. Работает как Flask's SESSION_REFRESH_EACH_REQUEST .По умолчанию: Ложь |
Защита сеанса
Хотя вышеперечисленные функции помогают защитить ваш токен «Запомнить меня» от файлов cookie
воры, cookie сеанса все еще уязвим.Flask-Login включает сеанс
защита, чтобы предотвратить кражу сеансов ваших пользователей.
Вы можете настроить защиту сеанса на LoginManager
и в приложении
конфигурация. Если он включен, он может работать в базовом
или сильном
режим. Чтобы установить его на LoginManager
, установите
session_protection
атрибут "базовый"
или "сильный"
:
login_manager.session_protection = "сильный"
Или, чтобы отключить:
login_manager.session_protection = Нет
По умолчанию активирован «базовый» режим
. Его можно отключить в
конфигурации приложения, установив для параметра SESSION_PROTECTION
значение None
,
«базовый»
или «сильный»
.
Когда защита сеанса активна, каждый запрос генерирует идентификатор
для компьютера пользователя (в основном, безопасный хеш IP-адреса и пользователя
агент). Если у сеанса нет связанного идентификатора, тот
сгенерированные будут сохранены.Если у него есть идентификатор, и он совпадает с
сгенерирован, то запрос в порядке.
Если идентификаторы не совпадают в базовом режиме
или когда сеанс
постоянный, то сеанс будет просто помечен как несвежий, и все
Требование нового входа в систему заставит пользователя пройти повторную аутентификацию. (Конечно,
вы должны уже использовать новые учетные записи там, где это необходимо, чтобы
эффект.)
Если идентификаторы не совпадают в сильном режиме
для непостоянного сеанса,
тогда весь сеанс (а также запомнить токен, если он существует)
удалено.
Отключение cookie сеанса для API
При аутентификации через API вы можете отключить настройку Flask
Сессионный файл cookie. Для этого используйте настраиваемый интерфейс сеанса, который пропускает сохранение
сеанс в зависимости от флага, который вы установили в запросе. Например:
из колбы импортной г из flask.sessions import SecureCookieSessionInterface из flask_login импорт user_loaded_from_header класс CustomSessionInterface (SecureCookieSessionInterface): "" "Запретить создание сеанса из запросов API."" " def save_session (self, * args, ** kwargs): если g.get ('login_via_header'): возвращаться вернуть super (CustomSessionInterface, self) .save_session (* args, ** kwargs) app.session_interface = CustomSessionInterface () @ user_loaded_from_header.connect def user_loaded_from_header (self, user = None): g.login_via_header = Верно
Это предотвращает установку файла cookie сеанса Flask всякий раз, когда пользователь аутентифицируется.
используя ваш header_loader
.
Локализация
По умолчанию LoginManager
использует flash
для отображения сообщений, когда пользователь
требуется для входа в систему. Эти сообщения на английском языке. Если вам нужно
локализации, установите для атрибута localize_callback
LoginManager
значение
функция, которая будет вызываться с этими сообщениями перед их отправкой на flash
,
например получить текст
. Эта функция будет вызываться с сообщением и его возвратом.
вместо этого значение будет отправлено на flash
.
Документация по API
Эта документация автоматически создается из исходного кода Flask-Login.
Настройка входа в систему
- класс
flask_login.
LoginManager
( app = None , add_context_processor = True ) [источник] Этот объект используется для хранения настроек, используемых для входа в систему. Экземпляры
изLoginManager
- это , а не , привязанные к определенным приложениям, поэтому вы можете
создайте его в основной части вашего кода, а затем привяжите его к своему
app в заводской функции.-
setup_app
( приложение , add_context_processor = True ) [источник] Этот метод устарел. Пожалуйста, используйте
LoginManager.init_app () вместо
.
-
неавторизованный
() [источник] Это вызывается, когда пользователю требуется войти в систему. Если вы зарегистрируете
обратный вызов сLoginManager.unauthorized_handler ()
, тогда он
называться. В противном случае он выполнит следующие действия:- Flash
LoginManager.login_message
пользователю. - Если приложение использует чертежи, найдите окно входа в систему для
текущий план с использованиемblueprint_login_views
. Если приложение
не использует чертежи или представление входа в систему для текущего
blueprint не указан, используйте значениеlogin_view
. - Перенаправить пользователя в режим входа в систему. (Страница, на которой они были
попытка доступа будет передана в следующем запросе
строковая переменная, поэтому вы можете перенаправить туда, если она есть
домашней страницы.Как вариант, он будет добавлен в сеанс
какследующий
, если установлен USE_SESSION_FOR_NEXT.)
Если
LoginManager.login_view
не определен, он просто
вместо этого вызовет ошибку HTTP 401 (неавторизовано).Это должно быть возвращено из представления или функции before / after_request,
в противном случае перенаправление не будет иметь никакого эффекта.- Flash
-
needs_refresh
() [источник] Это вызывается, когда пользователь вошел в систему, но они должны быть
повторная аутентификация, потому что их сеанс устарел.Если вы зарегистрируете
обратный вызов сneeds_refresh_handler
, тогда он будет вызван.
В противном случае он выполнит следующие действия:Если
LoginManager.refresh_view
не определен, он будет
вместо этого просто вызовите ошибку HTTP 401 (неавторизовано).Это должно быть возвращено из представления или функции before / after_request,
в противном случае перенаправление не будет иметь никакого эффекта.
Общая конфигурация
-
user_loader
( callback ) [источник] Устанавливает обратный вызов для перезагрузки пользователя из сеанса.В
функция, которую вы устанавливаете, должна принимать идентификатор пользователя (unicode
) и возвращать
объект пользователя илиНет
, если пользователь не существует.Параметры: callback ( callable ) - обратный вызов для получения объекта пользователя.
Эта функция устарела. Пожалуйста, используйте
LoginManager.request_loader () вместо
.Устанавливает обратный вызов для загрузки пользователя из значения заголовка.Установленная вами функция должна принимать токен аутентификации и
вернуть объект пользователя илиНет
, если пользователь не существует.Параметры: callback ( callable ) - обратный вызов для получения объекта пользователя.
-
анонимный_пользователь
Класс или фабричная функция, которая создает анонимного пользователя, который
используется, когда никто не авторизован.
неавторизованный
Конфигурация-
login_view
Имя представления, на которое выполняется перенаправление, когда пользователю необходимо войти в систему. (Это
также может быть абсолютным URL-адресом, если ваш механизм аутентификации
внешний по отношению к вашему приложению.)
-
сообщение_входа
Сообщение, которое мигает, когда пользователь перенаправляется на страницу входа.
-
unauthorized_handler
( callback ) [источник] Это установит обратный вызов для
неавторизованного метода
, который среди
другие вещи используетсяlogin_required
.Это не требует аргументов, и
должен возвращать ответ, который будет отправлен пользователю вместо его
нормальный вид.Параметры: callback ( callable ) - обратный звонок для неавторизованных пользователей.
needs_refresh
Конфигурация-
обновить_просмотр
Имя представления для перенаправления, когда пользователю необходимо
повторить аутентификацию.
-
needs_refresh_message
Сообщение, которое мигает, когда пользователь перенаправляется на повторную аутентификацию.
страница.
-
needs_refresh_handler
( обратный вызов ) [источник] Это установит обратный вызов для метода
needs_refresh
, который среди
остальное используетсяfresh_login_required
. Не требует аргументов,
и должен возвращать ответ, который будет отправлен пользователю вместо его
нормальный вид.Параметры: callback ( callable ) - обратный звонок для неавторизованных пользователей.
-
Механизмы входа
-
flask_login.
текущий_пользователь
Прокси-сервер для текущего пользователя.
-
flask_login.
login_fresh
() [источник] Это возвращает
True
, если текущий логин свежий.
-
flask_login.
login_user
( пользователь , запомнить = False , duration = None , force = False , fresh = True ) [источник] Выполняет вход пользователя в систему. Вы должны передать ему фактический объект пользователя. Если
Свойство пользователяis_active
-Ложь
, они не войдут в систему
если толькоforce
неTrue
.Это вернет
True
, если попытка входа будет успешной, иFalse
, если
это не удается (т.е. потому что пользователь неактивен).Параметры: - пользователь ( объект ) - Пользовательский объект для входа в систему.
- запомнить ( bool ) - следует ли помнить пользователя после истечения его сеанса.
По умолчаниюЛожь
. - продолжительность (
datetime.timedelta
) - количество времени до истечения срока действия запоминающего файла cookie. Если
Нет
Используется значение, заданное в настройках.По умолчаниюНет
. - force ( bool ) - если пользователь неактивен, установка этого значения на
True
будет регистрировать
их в любом случае. По умолчаниюЛожь
. - свежий ( bool ) - установка этого значения на
Ложь
будет входить в систему пользователя с сеансом
отмечен как не «свежий». По умолчаниюTrue
.
-
flask_login.
logout_user
() [источник] Выполняет выход пользователя из системы.(Вам не нужно передавать фактического пользователя.) Это будет
также очистите файл cookie «запомнить меня», если он существует.
-
flask_login.
confirm_login
() [источник] Устанавливает текущий сеанс как свежий. Сессии устаревают, когда они
перезагружаются из файла cookie.
Защита взглядов
-
flask_login.
login_required
( func ) [источник] Если вы украсите вид этим, это гарантирует, что текущий пользователь
вошли в систему и прошли аутентификацию перед вызовом фактического представления.(Если они
нет, он вызывает обратный вызовLoginManager.unauthorized
.)
пример:@ app.route ('/ сообщение') @login_required def post (): проходить
Если есть только определенные времена, вам нужно потребовать, чтобы ваш пользователь
вошли в систему, вы можете сделать это с помощью:, если не current_user.is_authenticated: вернуть current_app.login_manager.unauthorized ()
… который, по сути, является кодом, который эта функция добавляет к вашим представлениям.
Может быть удобно глобально отключить аутентификацию при модульном тестировании.Чтобы включить это, если переменная конфигурации приложения
LOGIN_DISABLED
установлено значениеTrue
, этот декоратор будет проигнорирован.Параметры: func ( function ) - Функция просмотра для украшения.
-
flask_login.
fresh_login_required
( func ) [источник] Если вы украсите вид таким образом, это гарантирует, что текущий пользователь
логин свежий - i.е. их сеанс не был восстановлен из «запомни меня»
куки. Конфиденциальные операции, такие как изменение пароля или электронной почты, должны
быть защищенным этим, чтобы препятствовать усилиям похитителей файлов cookie.Если пользователь не аутентифицирован,
LoginManager.unauthorized ()
является
называется как обычно. Если они аутентифицированы, но их сеанс не
fresh, вместо этого он вызоветLoginManager.needs_refresh ()
. (В этом
случае вам нужно будет предоставитьLoginManager.refresh_view
.)Действует идентично декоратору
login_required ()
в отношении
к переменным конфигурации.Параметры: func ( function ) - Функция просмотра для украшения.
Помощники объекта пользователя
- класс
flask_login.
UserMixin
[источник] Это обеспечивает реализации по умолчанию для методов, которые Flask-Login
ожидает, что у пользовательских объектов будет.
- класс
flask_login.
AnonymousUserMixin
[источник] Это объект по умолчанию для представления анонимного пользователя.
Коммунальные услуги
-
flask_login.
login_url
( login_view , next_url = None , next_field = 'next' ) [источник] Создает URL-адрес для перенаправления на страницу входа. Если только
login_view
при условии, это просто вернет для него URL.Если указанnext_url
,
однако это добавит параметрnext = URL
в строку запроса.
так что представление входа может перенаправить обратно на этот URL. Flask-Login по умолчанию
неавторизованный обработчик использует эту функцию при перенаправлении на ваш URL-адрес для входа.
Чтобы принудительно использовать имя хоста, установитеFORCE_HOST_FOR_REDIRECTS
на хост. Этот
предотвращает перенаправление на внешние сайты, если заголовки запроса Host или
X-Forwarded-For присутствует.Параметры: - login_view ( str ) - имя представления входа.(В качестве альтернативы фактическое
URL-адрес для входа в систему.) - next_url ( str ) - URL-адрес для представления входа в систему для перенаправления.
- next_field ( str ) - В каком поле хранить следующий URL. (По умолчанию
следующий
.)
- login_view ( str ) - имя представления входа.(В качестве альтернативы фактическое
Сигналы
См. Документацию Flask по сигналам для получения информации о том, как их использовать.
сигналы в вашем коде.
-
flask_login.
user_logged_in
Отправляется, когда пользователь входит в систему. В дополнение к приложению (которое является
отправитель), ему передаетсяпользователя
, который является пользователем, вошедшим в систему.
-
flask_login.
user_logged_out
Отправляется, когда пользователь выходит из системы. В дополнение к приложению (которое является
отправитель), ему передаетсяпользователя
, который является пользователем, выходящим из системы.
-
flask_login.
user_login_confirmed
Отправляется после подтверждения входа пользователя с пометкой как новый. (Это не так
потребовал нормального входа в систему.)
Он не получает никаких дополнительных аргументов, кроме приложения.
-
flask_login.
user_unauthorized
Отправляется, когда
неавторизованный метод
вызывается вLoginManager
. Это
не получает никаких дополнительных аргументов, кроме приложения.
-
flask_login.
user_needs_refresh
Отправляется, когда в
LoginManager
вызывается методneeds_refresh
. Это
не получает никаких дополнительных аргументов, кроме приложения.
-
flask_login.
session_protected
Отправляется всякий раз, когда срабатывает защита сеанса, и сеанс либо
помечены как несвежие или удаленные. Никаких дополнительных аргументов кроме
приложение.
Журнал событий
Session Recording может регистрировать события и отмечать события в записях для последующего поиска и воспроизведения.Вы можете искать интересующие события в большом количестве записей и находить события во время воспроизведения в проигрывателе записи сеанса.
Системные события
Session Recording может регистрировать следующие системные события:
Установка запоминающих устройств USB
Приложение начинается и заканчивается
Операции переименования, создания, удаления и перемещения файлов
Просмотр веб-страниц
Самые активные действия окна
Операции с буфером обмена
Установка запоминающих устройств USB
Session Recording может регистрировать вставку сопоставленного клиентского диска (CDM) или универсального перенаправленного запоминающего устройства USB в клиент, на котором установлено приложение Citrix Workspace для Windows или Mac.Запись сеанса отмечает эти события в записи.
Примечание:
В настоящее время может регистрироваться только подключение запоминающих устройств USB (USB Class 08). Чтобы функция работала должным образом, обновите компоненты администрирования записи сеанса и агент записи сеанса до версии 1811 или более поздней. Для получения дополнительной информации см. Политики регистрации событий.
Приложение начинается и заканчивается
Примечание:
Для этой функции требуется версия записи сеанса 1811 или более поздняя.Для получения дополнительной информации см. Политики регистрации событий.
Session Recording поддерживает регистрацию запуска и завершения приложения. Когда вы добавляете процесс в список мониторинга приложений , отслеживаются приложения, управляемые добавленным процессом, и его дочерние процессы. Дочерние процессы родительского процесса, который запускается до запуска записи сеанса, также могут быть захвачены.
Запись сеанса добавляет имена процессов: cmd.exe
, powershell.exe
и wsl.exe
, в список мониторинга приложений по умолчанию . Если вы выберете Регистрировать начальные события приложения и Регистрировать конечные события приложения для политики регистрации событий, начало и конец приложений командной строки, PowerShell и подсистемы Windows для Linux (WSL) регистрируются независимо от того, добавлены ли вы вручную. их имена процессов в список мониторинга приложений . Имена процессов по умолчанию не отображаются в списке мониторинга приложений .
Кроме того, запись сеанса предоставляет полную командную строку для каждого зарегистрированного события запуска приложения.
Операции переименования, создания, удаления и перемещения файлов
Session Recording может регистрировать операции переименования, создания, удаления и перемещения файлов или подпапок в целевых папках, а также отмечать события в записи. Для получения дополнительной информации см. Политики регистрации событий.
Примечание:
Для этой функции требуется запись сеанса версии 1903 или более поздней.
Просмотр веб-страниц
Вы можете регистрировать действия пользователей в поддерживаемых браузерах и отмечать события в записи.Имя браузера, URL-адрес и заголовок страницы регистрируются. В качестве примера см. Следующий снимок экрана.
Когда вы перемещаете курсор от веб-страницы, которая имеет фокус, ваш просмотр этой веб-страницы помечается тегами без отображения имени браузера. Эту функцию можно использовать для оценки того, как долго пользователь остается на веб-странице. В качестве примера см. Следующий снимок экрана.
Список поддерживаемых браузеров:
Браузер | Версия |
---|---|
Хром | 69 и более поздние |
Internet Explorer | 11 |
Firefox | 61 и более поздние |
Примечание:
Для этой функции требуется запись сеанса версии 1906 или более поздней.Для получения дополнительной информации см. Политики регистрации событий.
Самые активные действия окна
Session Recording может регистрировать действия самого верхнего окна и отмечать события в записи. Имя процесса, заголовок и номер процесса регистрируются.
Действия с буфером обмена
Session Recording может регистрировать операции копирования текста, изображений и файлов с использованием буфера обмена. Имя процесса и путь к файлу регистрируются для копии файла. Имя процесса и заголовок регистрируются для текстовой копии.Имя процесса регистрируется для копии изображения.
Примечание: По умолчанию содержимое скопированного текста не регистрируется. Чтобы зарегистрировать текстовое содержимое, перейдите к агенту записи сеанса и установите HKEY_LOCAL_MACHINE \ SOFTWARE \
по
Citrix \ SmartAuditor \ Agent \ CaptureClipboardContent с 1
(значение по умолчанию - 0
).
Пользовательские события
Агент записи сеанса предоставляет COM-интерфейс IUserApi, который сторонние приложения могут использовать для добавления данных о событиях конкретного приложения в записанные сеансы.В зависимости от настройки события запись сеанса может блокировать конфиденциальную информацию и соответственно регистрировать события паузы и возобновления сеанса.
Блокировка конфиденциальной информации
Session Recording позволяет пропускать определенные периоды при записи экрана и блокировать конфиденциальную информацию в эти периоды во время воспроизведения сеанса. Чтобы использовать эту функцию, используйте запись сеанса 2012 и более поздних версий.
Чтобы использовать эту функцию, выполните следующие действия:
В свойствах агента записи сеанса установите флажок Разрешить сторонним приложениям записывать пользовательские данные на этом компьютере VDA и нажмите Применить .
Предоставьте пользователям разрешение на вызов API события записи сеанса (интерфейс IUserApi COM).
Session Recording добавил контроль доступа к COM-интерфейсу API событий в версии 7.15. Только авторизованные пользователи могут вызывать функцию для вставки метаданных событий в запись.
Локальным администраторам предоставляется это разрешение по умолчанию. Чтобы предоставить другим пользователям это разрешение, используйте инструмент настройки Windows DCOM:
Откройте средство настройки Windows DCOM в агенте записи сеанса, запустив
dcomcnfg.exe
.Щелкните правой кнопкой мыши Citrix Session Recording Agent и выберите Properties .
Выберите вкладку Security , нажмите Edit , чтобы добавить пользователей с разрешением Local Activation в разделе Launch and Activation Permissions .
Примечание:
Конфигурация
DCOM вступает в силу немедленно.Нет необходимости перезапускать какие-либо службы или машину.
Запустите виртуальный сеанс Citrix.
Запустите PowerShell и измените текущий диск на папку <путь установки агента записи сеанса> \ Bin , чтобы импортировать модуль SRUserEventHelperSnapin.dll.
Запустите командлеты
Session-Pause
иSession-Resume
, чтобы установить параметры для запуска блокировки конфиденциальной информации.Параметр Описание Обязательно или необязательно -APP
Имя приложения, вызывающего командлет. Требуется -Причина
Причина блокировки содержимого. Если вы не укажете этот параметр, будет отображаться значение по умолчанию: Контент заблокирован, и Конфиденциальная информация существует и заблокирована .Если вы установите этот параметр, указанная вами причина будет отображаться при переходе к заблокированному периоду во время воспроизведения сеанса. Дополнительно Например, вы можете запустить
Session-Pause
аналогично следующему:
Поиск и воспроизведение записей с отмеченными событиями
Поиск записей с отмеченными событиями
Проигрыватель записи сеанса позволяет выполнять расширенный поиск записей с отмеченными событиями.
- В проигрывателе записи сеанса щелкните Advanced Search на панели инструментов или выберите Tools > Advanced Search .
- Задайте критерии поиска в диалоговом окне Advanced Search .
Вкладка События позволяет вам искать отмеченные события в сеансах по Тексту события или Типу события или обоим. Вы можете использовать фильтры События, , Обычные, , Дата / время, и Другие фильтры в сочетании для поиска записей, соответствующих вашим критериям.
Примечание:
- В списке Тип события перечислены все типы событий, которые были зарегистрированы с помощью Citrix Session Recording. Вы можете выбрать любой из типов событий для поиска. Выбор Любое определенное Citrix событие означает поиск всех записей с любым типом событий, регистрируемых Citrix Session Recording.
- Фильтр Текст события поддерживает частичное совпадение. Подстановочные знаки не поддерживаются.
- Фильтр Текст события нечувствителен к регистру при сопоставлении.
- Для типов событий слова
Начало приложения
,Конец приложения
,Отображение диска клиента
иПереименование файла
не участвуют в сопоставлении при поиске по тексту события . Поэтому, когда вы вводитеНачало приложения
,Конец приложения
,Отображение диска клиента
илиПереименовать файл
в поле Текст события , результат не может быть найден.
Воспроизведение записей с отмеченными событиями
Когда вы воспроизводите запись с отмеченными событиями, события присутствуют на панели События и закладки и отображаются в виде желтых точек в нижней части проигрывателя записи сеанса:
Вы можете использовать события для навигации по записанному сеансу или переходить к точкам, где события отмечены тегами.
Официальная версия этого контента на английском языке. Некоторая часть документации Citrix переведена на компьютер только для вашего удобства. Citrix не контролирует контент, переведенный на машинный перевод, который может содержать ошибки, неточности или неподходящий язык. Не дается никаких гарантий, явных или подразумеваемых, в отношении точности, надежности, пригодности или правильности любых переводов, сделанных с английского оригинала на любой другой язык, или того, что ваш продукт или услуга Citrix соответствует любому содержимому, переведенному с помощью машин. и любая гарантия, предоставленная в соответствии с применимым лицензионным соглашением с конечным пользователем, условиями обслуживания или любым другим соглашением с Citrix, что продукт или услуга соответствует какой-либо документации, не применяется в той степени, в которой такая документация была переведена на компьютер.Citrix не несет ответственности за какой-либо ущерб или проблемы, которые могут возникнуть в результате использования переведенного машинным способом содержимого.
DIESER DIENST KANN ÜBERSETZUNGEN ENTHALTEN, DIE VON GOOGLE BEREITGESTELLT WERDEN. GOOGLE LEHNT Jede AUSDRÜCKLICHE ОДЕР STILLSCHWEIGENDE GEWÄHRLEISTUNG В BEZUG АУФ DIE Übersetzungen AB, EINSCHLIESSLICH JEGLICHER GEWÄHRLEISTUNG МЭД GENAUIGKEIT, Zuverlässigkeit UND JEGLICHER STILLSCHWEIGENDEN GEWÄHRLEISTUNG МЭД MARKTGÄNGIGKEIT, МЭД EIGNUNG FÜR Einen BESTIMMTEN Zweck UND DER NICHTVERLETZUNG VON RECHTEN DRITTER.
CE SERVICE PEUT CONTENIR DES TRADUCTIONS FOURNIES PAR GOOGLE. GOOGLE EXCLUT TOUTE GARANTIE RELATIVE AUX TRADUCTIONS, EXPRESSE OU IMPLICITE, Y COMPRIS TOUTE GARANTIE D'EXACTITUDE, DE FIABILITÉ ET TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION D'REULER UN US.
ESTE SERVICIO PUEDE CONTENER TRADUCCIONES CON TECNOLOGA DE GOOGLE. GOOGLE RENUNCIA A TODAS LAS GARANTÍAS RELACIONADAS CON LAS TRADUCCIONES, TANTO IMPLÍCITAS COMO EXPLÍCITAS, INCLUIDAS LAS GARANTÍAS DE EXACTITUDONE, FIABILIDAD Y OTRAS GARANTÍAS PARTUS INPLCITAS DEERADIC UNDERIABIL EN
本 服务 可能 包含 Google 提供 技术 支持 的 翻译 。Google 对 这些 翻译 内容 不做 明示 暗示 的 保证 , 包括 对 准确性 、 可靠性 的 任何 以及 适销 性 和 非 性的 任何 暗示 保证。
こ の サ ー ビ ス に は, Google が 提供 す る 翻 訳 が 含 ま れ て い る 可能性 が あ り ま す .Google は 翻 訳 に つ い て, 明示 的 か 黙 示 的 か を 問 わ ず, 精度 と 信 頼 性 に 関 す る あ ら ゆ る 保証, お よ び 商品性, 特定 目的 への 適合 性 、 第三者 の 権 利 を な い こ と に 関 す る あ 的 保証 を 含 め 、 ま せ ん。
ESTE SERVIO PODE CONTER TRADUÇÕES FORNECIDAS PELO GOOGLE. О GOOGLE SE EXIME DE TODAS AS GARANTIAS RELACIONADAS COM AS TRADUES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER GARANTIA DE PRECISÃO, CONFIABILIDADE E QUALQUER GARANTIA IMPLÍCITA DE COMERCIALIZAO, ADERAITA DE COMERCIALIZAO.
обрабатывающих пользователей - вход в систему и сеансы · GitBook
Протокол HTTP не имеет состояния, что означает, что каждый HTTP-запрос,
поступает на сервер, может обрабатываться независимо, а сервер не
нужно что-либо помнить о том, кому он отправляет страницы. Это означает, что
веб-серверы могут быть очень эффективными и могут обслуживать большое количество
трафик очень быстро. Обратной стороной является то, что нам нужно разработать еще один
механизм для отслеживания взаимодействия отдельного пользователя с нашим
сайт.Возможно, мы захотим сделать это, чтобы включить веб-торговлю - реализуя
например, тележку для покупок - или просто для того, чтобы мы могли понять нашего пользователя
лучше, может быть, подать им соответствующую рекламу.
Общая модель для отслеживания пользователей - это сеанс пользователя . А
сеанс начинается, когда пользователь впервые посещает одну из страниц нашего сайта,
и заканчивается либо через определенное время, либо когда пользователь предпринимает какие-либо действия.
вроде выхода с сайта. Сеансы могут быть анонимными или идентифицированными
в зависимости от требований конкретного сайта.Анонимный
сеанс назначает уникальный идентификатор пользователю, но не связывает его
с настоящей личностью. Идентифицированный сеанс просит пользователя войти в систему и
идентифицировать себя в начале сеанса.
Файлы cookie и сеансы
Пользовательские сеансы реализуются с использованием файлов cookie HTTP
механизм. Как обсуждалось ранее, файлы cookie позволяют поддерживать
состояние между HTTP-запросами, требуя, чтобы клиент возвращал cookie
с каждым запросом, когда он был отправлен как часть ответа HTTP.
Сами файлы cookie
могут использоваться для хранения информации о клиентских
действия. Например, раньше файлы cookie использовались для хранения элементов в
корзина для покупок; когда пользователь выбрал товары для добавления в корзину,
значение cookie будет обновлено идентификатором элемента и возвращено в
клиент. Таким образом, список товаров в корзине сохраняется
клиент, а не сервер. Только когда пользователь хочет приобрести предметы
требуется какое-либо хранилище на стороне сервера (для представления порядка).Это
вид управления сеансом, который полностью полагается на клиента для хранения
состояние сеанса. Его преимущество заключается в уменьшении объема хранилища
требования к серверу, но накладывает некоторые ограничения на количество
информация, которую можно с пользой сохранить. Хотя файлы cookie могут использоваться для
хранить до 4k данных, большие файлы cookie делают каждый HTTP-запрос
большие и потенциально могут повлиять на производительность сайта. Добавить к этому
тот факт, что получение пользовательских данных рассматривается как очень положительный момент для
бизнес в наши дни - пользовательские данные являются ценным активом - и мы находим, что
сейчас очень редко реализовывать сеансы таким образом.
Альтернативой хранению данных сеанса пользователя в файле cookie является сохранение
его в базе данных на стороне сервера и использовать значение cookie в качестве ключа в
база данных. Это стандартный подход к управлению пользовательскими сеансами, который
реализован в большинстве фреймворков веб-разработки. На стороне сервера
базе данных требуется одна таблица, в которой будет храниться сеансовый ключ и
любую информацию, которую сайт желает связать с пользователем. Этот
может быть списком товаров для корзины покупок или историей посещений страницы, если
мы пытаемся отслеживать, как пользователи используют веб-сайт.
Пример сеансов
Чтобы проиллюстрировать управление анонимным сеансом, мы разработаем простой
приложение, которое расширяет приложение лайков , описанное в
Глава SQLite. В этой версии мы использовали один
таблица базы данных для хранения лайков, не было пользователей и все заходили
сайт увидит тот же список. Эта версия будет хранить лайки
вместе с идентификатором пользователя, который мы передадим пользователю в
куки. Для начала мы добавляем новую таблицу в базу данных для хранения
ключи сеанса и измените таблицу лайков, чтобы включить сеансовый ключ в качестве
поле, связанное с каждым лайком:
def create_table (db):
"" "Создать таблицу базы данных для приложения
учитывая соединение с базой данных 'db'.Удаляет все существующие данные, которые могут быть в
база данных."""
курсор = db.cursor ()
cursor.execute ("УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ лайков")
cursor.execute ("УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ сеанс")
cursor.execute ("" "
СОЗДАТЬ ТАБЛИЦУ лайков (
вещь текст
ключевой текст
) "" ")
cursor.execute ("" "
СОЗДАТЬ ТАБЛИЧНЫЕ сеансы (
ключевой текст уникальный первичный ключ
)
"" ")
Поле ключа
будет случайно сгенерированной строкой, которая будет использоваться для
идентифицировать пользователя.В таблице сеансов
хранятся все текущие действительные
сеансов, чтобы мы могли проверять отправленные нам файлы cookie - если
ключа сеанса нет в таблице, значит, это какой-то фальшивый файл cookie,
могут быть использованы для атаки на наш сайт. Добавляем ключевое поле в
нравится таблица
, так что каждая понравившаяся вещь связана с сеансовым ключом.
Когда мы обслуживаем страницу сейчас, мы будем перечислять только тех, кто лайкнул текущую
Пользователь.
Следующим шагом будет написание функции для создания новой записи в
таблица сессий.Это сгенерирует новый случайный ключ, добавив его в
базу данных и создайте файл cookie в ответе, который будет отправлен обратно в
пользователь:
def new_session (db):
"" "Создайте новый сеансовый ключ, сохраните его в базе данных.
Добавьте в ответ файл cookie с ключом сеанса и
вернуть новый ключ сеанса "" "
ключ = str (uuid.uuid4 ())
cur = db.cursor ()
cur.execute ("ВСТАВИТЬ ЗНАЧЕНИЯ сеансов (?)", (ключ,))
db.commit ()
response.set_cookie (COOKIE_NAME, ключ)
ключ возврата
Создание уникального идентификатора в Python упрощается благодаря uuid
(универсальный уникальный идентификатор) модуль (UUID - это интернет-стандарт для
генерация идентификаторов, которые вряд ли будут дублироваться).В
uuid4
функция генерирует случайный идентификатор как экземпляр
UUID, приведенный выше код преобразует его в строку и сохраняет в
ключ переменной
. Затем процедура вставляет новую запись в
база данных с сгенерированным сеансовым ключом. Затем он создает новый файл cookie в
ответ с использованием переменной COOKIE_NAME
, которую мы установим в
подходящее значение в приложении.
Следующая процедура, которую мы напишем, будет использоваться для поиска ключевого ассоциированного
с текущим запросом.Сначала он будет искать файл cookie и пытаться
проверить ключ сеанса в базе данных. Если ключ не найден, он
создать новую сессию:
def get_session (db):
"" "Получить текущий сеансовый ключ, если есть, если нет, вернуть None" ""
key = request.get_cookie (COOKIE_NAME)
cur = db.cursor ()
cur.execute ("ВЫБРАТЬ ключ ИЗ сеансов, ГДЕ ключ =?", (ключ,))
row = cur.fetchone ()
если не строка:
ключ = новая_сессия (дб)
ключ возврата
Здесь мы снова используем переменную COOKIE_NAME
, чтобы убедиться, что мы
ищем тот же файл cookie, который мы отправили обратно.Мы получаем cookie от
запрос, а затем проверьте, что мы можем найти это значение в сеансах
стол. Если он не найден, мы делаем новый и, наконец, возвращаем
ключ сеанса.
Третья задача - изменить код, который хранит и извлекает лайки.
добавьте сеансовый ключ, связанный со значением. Это включает добавление
ключ сеанса в качестве параметра для этих функций и изменение SQL
запрос, чтобы ограничить строки, которые мы извлекаем, теми, которые содержат сеанс
ключ:
def store_like (db, ключ, вроде):
"" "Сохранить новый лайк в базе данных, связанной с этим сеансовым ключом" ""
курсор = db.курсор()
cursor.execute ("INSERT INTO любит (вещь, ключ) VALUES (?,?)", (like, key))
db.commit ()
def get_likes (db, ключ):
"" "Вернуть список лайков из базы по этому ключу" ""
курсор = db.cursor ()
cursor.execute ("ВЫБРАТЬ вещь ИЗ ЛАЙКА WHERE key =?", (key,))
результат = []
для строки в курсоре:
result.append (строка ['вещь'])
вернуть результат
Написав вспомогательные процедуры, теперь мы можем изменить приложение.
код, чтобы использовать их. Код для создания домашней страницы тот же
как в предыдущем примере, но мы добавляем вызов get_session
, чтобы получить
текущий (или новый) сеансовый ключ.Затем он передается в get_likes
в
ограничить лайки, которые мы получаем.
@ app.route ('/')
индекс def (db):
"" "Домашняя страница" ""
ключ = get_session (дб)
info = dict ()
info ['title'] = 'Добро пожаловать домой!'
info ['like'] = get_likes (дб, ключ)
шаблон возврата ('dblikes.tpl', информация)
В код для обработки отправки формы также внесены незначительные изменения, которые необходимо добавить.
звонок на get_session
:
@ app.post ('/ нравится')
def как (db):
"" "Обработка как запрос на отправку формы" ""
лайки = запрос.forms.get ('лайки')
ключ = get_session (дб)
если нравится:
store_like (дб, ключ, лайки)
возвратное перенаправление ('/')
Это полное приложение, использующее сеансовую таблицу.
Если вы запустите это, он должен отправить вам файл cookie с новым ключом первым
когда вы заходите на сайт (проверьте заголовки запросов в своем браузере
инструменты разработчика). Если вы затем отправите некоторые значения через форму, они
должны храниться в базе данных и отображаться на результирующих страницах. К
убедитесь, что сеансы работают, запустите другой веб-браузер (или
удалите файлы cookie из домена с помощью инструментов разработчика), и вам следует
снова увидеть пустой список лайков.
Убедитесь, что вы понимаете, как работает это приложение. Это ключ
метод управления сеансами в сети и является основой любого
приложение, позволяющее проводить длительные сеансы с пользователем.
В этом примере показано использование базы данных для хранения информации о пользователях в
ключ сеанса, который идентифицирует пользователя только случайной строкой. Этот
технику можно использовать для хранения любого количества информации о пользователе
из содержимого корзины для покупок, чтобы отобразить настройки или страницу
история кликов.Вариант этого метода реализован в большинстве веб-сайтов.
фреймворки разработки, используемые сегодня.
Упражнения
- В приложении нет возможности сбросить список или завершить
сессия. Вы можете реализовать это, удалив сеансовый ключ
из таблицы сеансов и любые лайки из таблицы лайков.
Реализуйте опцию «Забыть меня» как POST-запрос к URL-адресу.
/ забудьте
и добавьте кнопку в шаблон страницы, чтобы
вызвать это.
Поддержка входа в систему
В приведенном выше примере сеанс пользователя был инициирован, как только пользователь
впервые посетил сайт, и сеансовая таблица использовалась для отслеживания
анонимные пользовательские данные.Еще одно важное использование сеансовой таблицы -
отслеживать зарегистрированных пользователей и различия с описанными методами
выше довольно малы.
Чтобы отслеживать сеанс входа в систему, сеанс не создается до тех пор, пока
действительная пара имя пользователя / пароль была отправлена пользователем. Пользователь
таблица необходима в базе данных для хранения этого и любого другого пользователя
данные требуются приложением.