Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

ASP .NET поддръжка глас колона

Удостоверяване на формуляри за отстраняване на неизправности

За да персонализирате тази колона на вашите нужди, ние искате да поканите да изпратите вашите идеи за теми, които ви интересуват и проблеми, които искате да видите отстранени в бъдеще статии от базата знания и поддръжка глас колони. Можете да изпратите вашите идеи и коментари формата Помолите за това . Има връзка към формуляра в долната част на тази колона.

Добре дошли в колоната ASP.NET поддръжка глас! Моето име е Джери Орман. Са с Microsoft за 5 години и е използвано-голямата част от времето се фокусира върху уеб технологии като Microsoft FrontPage и новите технологии на Microsoft SharePoint. Имам прекарано Последната година работа с Microsoft ASP.NET като инженер по поддръжка. Този месец в колоната глас поддръжка ще е обяснено как да отстранявате удостоверяване на формуляри на Microsoft ASP.NET.

Удостоверяване на формуляри за отстраняване на неизправности

Когато използвате удостоверяване на формуляри в ASP.NET приложение, може да ви е необходима за отстраняване на проблем, който възниква, когато потребителят е случайно пренасочени към страницата за влизане. В един идеален свят този проблем ще възникне по начин, който ще можете лесно да прикачите дебъгера и заснемане на проблема. В производствена среда но това е рядко така. Отстраняване на произволни проблем като този, трябва да влезете информация, свързана с проблема, така че да можете да ограничите основната причина.

В тази статия ще разгледаме накратко понятието удостоверяване на формуляри. След това ще разгледаме в кои случаи водят до потребител са пренасочени към страницата за влизане и начините за събиране на данни, който е подходящ за изолиране на проблема. Също така ще покажем как да се приложи IHttpModule интерфейс за влизане информация за удостоверяване на формуляри.

Преглед на удостоверяване на формуляри

Когато потребител удостоверява в уеб сайт с помощта на удостоверяване на формуляри, сървърът създава бисквитка. Стойността на бисквитката е шифрован форми картон. Бисквитката се подава на сървъра всяка заявка за приложението и FormsAuthenticationModule декриптира стойността на "бисквитки" и определя, ако потребителят е невалиден или не.

По подразбиране се добавя FormsAuthenticationModule класа във файла Machine.config. Клас FormsAuthenticationModule управлява процеса на FormsAuthentication.

Запис от файла Machine.config е:

<httpModule>     …other modules…
<add name="FormsAuthentication"
type="System.Web.Security.FormsAuthenticationModule" />
…other modules…
</httpModule>

Общи HTTP трафик за удостоверяване чрез формуляри удостоверяване изглежда подобно на следното:

  1. Клиентът изпраща се HTTP Default.aspx. Няма формуляри удостоверяване бисквитка.

  2. Сървърът изпраща 302 отговор (пренасочване) Login.aspx.

  3. Клиентът изпраща HTTP POST Login.aspx. Тя включва информация за влизане.

  4. Сървърът изпраща 302 отговор (пренасочване) Default.aspx. Бисквитка за удостоверяване на формуляри е включена.

  5. Клиентът изпраща се HTTP Default.aspx. Това включва форми бисквитка удостоверяване.

За повече информация за изпълнение и използвате удостоверяване на формуляри посетете следните сайтове на MSDN:

http://msdn2.microsoft.com/en-us/library/7t6b43z4.aspx

http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthentication(vs.71).aspx

http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthenticationticket(vs.71).aspxЗа повече информация относно споделянето на формуляри удостоверяване бисквитки посетете следния сайт на ASP.NET:

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/security/formsauth.aspx

Причините, че потребителят може да бъдете пренасочени към страницата за влизане

Форми бисквитка удостоверяване се губи

Сценарий 1


В този случай потребител влиза в сайта. В определен момент Клиентът изпраща заявка към сървъра и
FormsAuthenticationModule клас не получава бисквитка. Можете да определите, ако потребител заявка съдържа бисквитка позволявайки бисквитка регистрирането в Microsoft Internet Information Services (IIS). За да направите това, изпълнете следните стъпки:

  1. Отворете конзолата за управление на Microsoft IIS (MMC).

  2. С десния бутон върху уеб сайта и след това щракнете върху
    Свойства.

  3. Щракнете върху раздела на уеб сайта и щракнете върху Разрешаване на регистрирането.

  4. Уверете се, че формата на регистъра е W3C разширен регистрационен файлов формат.

  5. Щракнете върху свойства.

  6. Щракнете върху раздела Разширени и след това щракнете върху
    Разширени свойства.

  7. Разширени свойства, щракнете, за да отметнете квадратчето Cookie(cs(Cookie)) и Referer (cs(Referer)) квадратчето.

След възникването на този проблем определете кой клиент е проблем и IP адреса на клиента. Филтриране на регистрационния файл на IIS на IP адрес на клиента и видите колоната <бисквитка>.

Забележка: Можете да използвате регистър анализатор да направи анализ на регистрационните файлове на IIS. За да изтеглите регистъра анализатор, посетете следния уеб сайт на Microsoft:

http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07След като имате списък на заявките от този конкретен потребител, търсене на заявки за вход. Знаете те са пренасочени към тази страница и искате да видите заявките преди пренасочване е възникнал. Ако видите нещо подобно на следното, клиент или не изпраща "бисквитки" или "бисквитката" е премахната в мрежа между клиента и сървъра.

Това е първоначалното влизане.

Метод

Страница

Отговор

Бисквитките

ПОЛУЧЕТЕ

/Default.aspx

302 (пренасочване)

Бисквитки

ПОЛУЧЕТЕ

/Login.aspx

200 (успех)

Бисквитки

ПУБЛИКАЦИЯ

/Login.aspx

302 (пренасочване)

Бисквитки

ПОЛУЧЕТЕ

/Default.aspx

200 (успех)

.ASPXAUTH

ПОЛУЧЕТЕ

/SomePage.aspx

302 (пренасочване)

Не. ASPXAUTH бисквитка

Това са други заявки, последвано от искане на страница на сайта без. ASPXAUTH бисквитка.

Метод

Страница

Отговор

Бисквитките

ПОЛУЧЕТЕ

/SomePage.aspx

302 (пренасочване)

Не. ASPXAUTH бисквитка

ПОЛУЧЕТЕ

/Login.aspx

200 (успех)

Не. ASPXAUTH бисквитка

ПУБЛИКАЦИЯ

/Login.aspx

302 (пренасочване)

Не. ASPXAUTH бисквитка

ПОЛУЧЕТЕ

/SomePage.aspx

200 (успех)

.ASPXAUTH


Забележка: Първата заявка от този потребител не е вероятно да имат форми бисквитка удостоверяване, освен ако създавате постоянна бисквитка. Регистрационния файл на IIS ще ви покажем само бисквитките, които са получени в искането. Първата заявка за формуляри удостоверяване бисквитката ще бъде заявка след успешното влизане опит.

Сценарий 2


Бисквитка за удостоверяване на формуляри могат да бъдат загубени при клиента бисквитка граница. В Microsoft Internet Explorer има ограничение от 20 "бисквитки". След създаване на клиента 20 "бисквитки" предишните бисквитки се премахват от колекцията на клиента. Ако. ASPXAUTH бисквитка се премахва, потребителят ще бъдете пренасочени към страницата за влизане при следващото искането е обработено.

Можете да отстраните тези два сценария по същия начин. Вижте искане преди пренасочване към страницата за влизане. Ако заявката към тази страница генерира бисквитки, това ще бъде нещо, което да разгледа.

За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:

306070 номер и лимита на бисквитки в Internet Explorer


Можете да използвате Fiddler, за да видите HTTP заглавки, които се изпращат на клиента. След като запишете трафик, щракнете двукратно върху заявка и щракнете върху заглавки на Set-Cookie заглавка. Ако проследите влезете, ще видите Set-Cookie заглавка в отговор на влезете.

За да изтеглите Fiddler, посетете следния сайт на Fiddler:

http://www.fiddlertool.com/fiddler/

Сценарий 3


След заявката листа клиента, има различни слоеве, които могат да засегнат пакети, които са изпратени. За да определите Ако мрежово устройство премахва бисквитка, трябва да улавяне мрежово проследяване на клиента и сървъра и потърсете в тялото на искането за "бисквитки". Искате да разгледа искането на клиента да се уверите, че е бисквитка и проверете проследяването на сървъра да се уверите, че сървърът е получил бисквитка.

Заявката на клиента

Това е GET заявка, след като е удостоверен потребител. Билет информация за удостоверяване на формуляри, се откроява в синьо. Това потвърждава, че информация остават клиент. Когато използвате инструмента за заснемане на мрежата, като Netmon, виждате трафик, който всъщност премина през адаптер.

47 45 54 20 68 74 74 70-3a 2f 2f 6c 6f 63 61 6c   GET http://local68 6f 73 74 2f 46 6f 72-6d 73 41 75 74 68 4c 6f   host/FormsAuthLo
67 54 65 73 74 2f 57 65-62 46 6f 72 6d 31 2e 61 gTest/WebForm1.a
73 70 78 20 48 54 54 50-2f 31 2e 31 0d 0a 41 63 spx HTTP/1.1..Ac
63 65 70 74 3a 20 69 6d-61 67 65 2f 67 69 66 2c cept: image/gif,
…Other headers of the GET request…
63 68 65 0d 0a 43 6f 6f-6b 69 65 3a 20 2e 41 53 che..Cookie: .AS
50 58 41 55 54 48 3d 33-43 45 46 39 42 39 41 30 PXAUTH=3CEF9B9A0
43 33 37 41 44 46 36 33-45 36 42 44 33 37 42 36 C37ADF63E6BD37B6
39 43 44 41 32 35 30 30-30 46 38 30 37 32 38 46 9CDA25000F80728F
35 31 43 39 35 36 36 44-31 34 43 35 34 31 34 35 51C9566D14C54145
38 31 43 39 33 45 32 41-30 31 44 44 43 44 45 46 81C93E2A01DDCDEF
32 34 41 31 37 34 32 39-34 31 30 43 30 39 37 34 24A17429410C0974
42 33 45 43 42 30 36 34-32 32 38 45 33 35 33 39 B3ECB064228E3539
39 41 38 32 32 42 33 42-39 33 36 44 46 30 38 46 9A822B3B936DF08F
42 41 42 44 33 45 31 30-32 44 30 30 32 31 30 43 BABD3E102D00210C
32 45 31 33 39 38 30 37-39 42 32 33 35 32 39 46 2E1398079B23529F
34 46 35 44 37 34 41 3b-20 50 72 6f 66 69 6c 65 4F5D74A; Profile
3d 56 69 73 69 74 6f 72-49 64 3d 62 32 34 65 62 =VisitorId=b24eb

Заявка за сървъра

Когато търсите в заявката, които сървъра, можете да се уверете, че сървърът е получил същата информация, която клиентът изпраща. Ако сървърът не е получил една и съща информация, трябва да проучи други устройства в мрежата, за да определите къде е премахната бисквитка.

Забележка: Също така е имало случаи на ISAPI филтри за премахване на "бисквитки". Ако се потвърди, че уеб сървърът е получил бисквитка, но бисквитката не фигурира в регистрационните файлове на IIS, проверете ISAPI филтри. Може да се наложи да премахнете филтри, за да видите дали проблемът е решен.

Формуляри картон пъти

Други честата причина за потребителя да бъдете пренасочени е ако формуляри картон е изтекъл. Картон формуляри може да изтече по два начина. Първата ситуация възниква, ако използвате абсолютен срок. С абсолютен срок картон изтича след изтичане на изтичане на времето. Например зададете срок от 20 минути и потребителят посети сайта в 2:00 ч. Потребителят ще бъдете пренасочени към страницата за влизане, ако потребителят посети сайта след 2:20 ч.

Ако използвате Плъзгам срок, този сценарий е малко по-сложно. Бисквитки и получената билет се актуализират, ако потребителят посети сайта след полу изтекъл срокът на валидност. Например можете да зададете срок 20 минути чрез Плъзгам срок. Потребителят посети сайта в 2:00 и потребителят получава бисквитка, която е настроен да изтече в 2:20. Срок се актуализира само ако потребителят посети сайта след 2:22:00. Ако потребителят посети сайта в 2:09 PM, билет не се актуализира, тъй като половината от времето на изтичане не е преминал. Ако потребителят чака след 12 минути, посещение на сайта в 2:21 ч., ще бъде изтекъл билет. Пренасочване към страницата за влизане на потребител.

Един от начините да се обърнат този тип проблем е да влезете форми бисквитка и билет информация за удостоверяване. По този начин можете да видите, ако "бисквитката" е получена от IIS, както и стойности. Можете да направите това чрез писане HttpModuleи включете този модул в канал за заявка. Не трябва да променяте кода на приложението да получите информация.

Примерни приложения работи в Microsoft .NET Framework 1.1 и .NET Framework 2.0 и коментари през. Пример включва следните файлове:Забележка ще предоставя връзка за изтегляне на код, предоставен във файла FormsAuthLogger.zip.

Ще посочи основните области тук:


Както винаги, усещане, без да представят идеи за теми, които искате в бъдеще отстранени колони или използване на базата знания
Попитайте за това форма.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×