Как опубликовать / развернуть веб-приложение в IIS 7.0 с помощью проверки подлинности форм?
Привет,
Здесь я собираюсь опубликовать свое веб-приложение на IIS 7.0 . Здесь мне нужна аутентификация форм, чтобы я мог войти в систему, используя свои учетные данные (или проверяющий пользователь).
Когда я собираюсь опубликовать свое веб-приложение на IIS с помощью проверки подлинности форм, оно выдает сообщение об ошибке, например
HTTP Error 401.2 - Unauthorized You are not authorized to view this page due to invalid authentication headers.
Что я уже пробовал:
Это мой код web.config
<authentication mode="Forms"> <forms defaultUrl="~/frmHome.aspx" loginUrl="~/frmLogin.aspx" slidingExpiration="true" timeout="2880"></forms> </authentication>
и в настройках iis я сделал следующее
1. включен режим аутентификации форм.
2. Установите документ по умолчанию
3. Разрешить просмотр каталога
4. Внутри базовой настройки я выбрал пул приложений по умолчанию.
5. дано заполнение прав доступа к виртуальному каталогу.
Please Help me.для вышеуказанной проблемы
Herman<T>.Instance
Какие разрешения были настроены в IIS для веб-приложения?
SujataJK
проверка подлинности форм
Herman<T>.Instance
Проверка подлинности форм включена в разделе Проверка подлинности? Ты это хочешь мне сказать?
Herman<T>.Instance
Может ли скрипач дать вам более подробную информацию о:
- Вы не имеете права просматривать эту страницу из-за недопустимых заголовков аутентификации.
SujataJK
в iis внутри раздела правил авторизации я разрешаю всем пользователям и типам записей быть локальными
SujataJK
Выше сообщение об ошибке также показывает следующие детали
Наиболее вероятные причины:
1. Нет протокола проверки подлинности (в том числе анонимные) установлен в IIS.
2 включена только встроенная аутентификация, и был использован клиентский браузер
это не поддерживает интегрированную аутентификацию.
3 .интегрированная аутентификация включена, и запрос был отправлен через прокси-сервер, который изменил заголовки аутентификации до того, как они достигли веб-сервера.
4. веб-сервер не настроен для анонимного доступа, и требуемый заголовок авторизации не был получен.
5. В "настройка/система.раздел: Управление сайтом"/ "авторизация" может быть явно отрицая доступ пользователей.
Herman<T>.Instance
есть ли у вашего веб-приложения глобальный файл.asax, который обрабатывает необработанные исключения?
SujataJK
Я сделал это в глобальном.aspx-файл
application_error для перехвата недействительным(объект отправителя, EventArgs в электронной)
{
// Код, который запускается при возникновении необработанной ошибки
MailMessage msg = новый MailMessage();
Свойство HttpContext СТХ = свойство HttpContext.Тока;
msg.To.Add(новый почтовый адрес("sujata.shinde@jkumar.com"));
глутамат натрия.From = новый почтовый адрес("sujata.shinde@jkumar.com");
msg.Subject = "у моего приложения возникла проблема...";
msg.Priority = MailPriority.Высокий;
Проверьте новое окно инструментов();
sb.Append(ctx.Request.Url.ToString() + System.Environment.NewLine);
СБ.Добавить("Источник:" + Система.Среды.Перевод строки + СТХ.Сервер.И getlasterror().Источник.Метод toString());
sb.Append("сообщение:" + System.Environment.NewLine + ctx.Server.И getlasterror().Сообщение.Метод toString());
sb.Append("трассировка стека:" + System.Environment.NewLine + ctx.Server.И getlasterror().Трассировка стека.Метод toString());
глутамат натрия.Тело = СБ.Метод toString();
Ответ.Писать(СБ.Метод toString());
// глутамат натрия.Тело = СБ.Метод toString();
//НАСТРОЙКА ОБЪЕКТА SMTP
Системы.Нет.Почте.SmtpClient smtCliend = новая система.Нет.Почте.SmtpClient();
смтклиенд.Хозяин = "smtp.logix.in"; //или адрес вашего SMTP-сервера
смтклиенд.Порт = 587;
смтклиенд.UseDefaultCredentials = false;
смтклиенд.Учетные данные = новый NetworkCredential("sujata.shinde@jkumar.com", "S@ujata321");
//ОТПРАВЛЯТЬ ЭЛЕКТРОННУЮ ПОЧТУ
смтклиенд.Послать(сообщение);
}
Herman<T>.Instance
И вы не получаете писем при запуске веб-приложения?
SujataJK
Я получил почту в том числе и это предупреждающее сообщение
http://localhost/JKWorkBewnch/frmLogin.aspx
Источник:
Система.WebMessage:
Было выдано исключение типа "System.Web.HttpUnhandledException".трассировка стека:
в системе.Веб.Пользовательского интерфейса.Страницы.HandleError(исключение e)
в системе.Веб.Пользовательского интерфейса.Страницы.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
в системе.Веб.Пользовательского интерфейса.Страницы.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
в системе.Веб.Пользовательского интерфейса.Страницы.ProcessRequest()
в системе.Веб.Пользовательского интерфейса.Страницы.ProcessRequest(HttpContext context)
в ASP.frmlogin_aspx.ProcessRequest(контекст HttpContext) в c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET файлы\jkworkbewnch\673b1ad7\11d2590e\App_Web_ykh4oa1j.2.cs:строка 0
в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Выполнять()
в System.Web.HttpApplication.ExecuteStepImpl(шаг IExecutionStep)
в System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Обновление
Сочинять Сочинять
Печать
Переместить выбранные элементы в корзину
SujataJK
Наконец я решаю свой вопрос.
Herman<T>.Instance
Что же это было?
SujataJK
Здесь я изменил идентификатор DefaultApplicationPool с NetworkService на LocalSystem