Список изменений в ComboBox2 на основе выбранного значения в ComboBox1

WindowsIdentity.GetCurrent верен: вы должны получить пользователя APPPOOL. Это связано с тем, что процесс ASP.NET, выполняющий ваш код, является текущим идентификатором. Если вы хотите, чтобы пользователь возвращал идентификатор сайта, вам нужно добавить следующую строку в ваш web.config:


Это заставляет процесс принять личность пользователя, запрашивающего страница. Все действия будут выполняться от их имени, поэтому любые попытки чтения папок в сети или доступа к ресурсам базы данных и тому подобное будут означать, что текущему пользователю потребуются разрешения на эти вещи. Подробнее о олицетворении здесь вы можете прочитать здесь . Обратите внимание, что в зависимости от того, как настроена ваша топология веб-сервера или базы данных, вы можете столкнуться с проблемами делегирования с включенной олицетворением.

Но ваша оригинальная проблема заключается в том, что она кажется, что идентификатор не может быть определен, и вы получение всплывающего окна входа. Отмечу, что вам не нужен блок , если вы отключили анонимную аутентификацию в IIS. Мы никогда не включаем его (кроме специальных блоков и т. Д.), Поэтому я бы сказал, что вы можете попытаться удалить его и повторить попытку. Все остальное звучит правдоподобно.

Вы не указали, какой пользователь запускает пул приложений в IIS. Это пользовательская учетная запись или она по умолчанию? Если это обычай, это учетная запись домена или локальная учетная запись на веб-сервере? Пользовательским учетным записям иногда может потребоваться еще несколько шагов, например, регистрация SPN. Кроме того, может возникнуть проблема с тем, что пользовательская учетная запись не имеет разрешения в AD для разрешения учетной записи входящего пользователя.

Вы также можете проверить журналы IIS, чтобы узнать, какой ответ возвращается. Скорее всего, это будет 401, но у него должен быть дополнительный номер после 401.2 или что-то еще. Этот подканал иногда помогает определить корневую проблему. В этой статье KB перечислены пять.

1
задан Pᴇʜ 13 July 2018 в 09:59
поделиться

1 ответ

В событии ComboBox1_Change попробуйте вычислить лист, чтобы убедиться, что значения в формулах обновлены до перезагрузки списка в ComboBox2.

Sub ComboBox1_Change()
    Sheet1.Range("A2").Value = ComboBox1.Value
    Sheet1.Calculate 'update formula values
    ComboBox2.List = Sheet1.Range("B5:B7").Value 'reload the values into the list
End Sub
1
ответ дан Pᴇʜ 17 August 2018 в 13:19
поделиться
Другие вопросы по тегам:

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