В веб конфиге, стандартном, есть раздел <authentication mode="Windows" /> , где собственно указан тип аутентификации.Он лежит в <system.web>
Хотелось бы узнать как считать тип аутентификации. Через AppSettings естественно не получится, так как не в том разделе.
Пробовал считать через System.Configuration.ConfigurationSettings.GetConfig, тоже не получается, почему-то узел пустой оказывается. По идее приложение знает какой у него тип аутентификацииЮ, т.е. это можно откуда-то считать, не трогая конфиг. Как я честно говоря не нашел, так как все темы в основном заканчиваются чтением либо из System.Configuration.ConfigurationSettings.AppSettings, либо просто открывается свой конфиг и идет работа с Xml.
Открыть Web.config на мой взгляд не вариант (хотя пока так и сделал).
Еще раз подитожу, как считать тип аутентификации из стандартного web.config?
Использую Framework 1.1. язык — VB.
Hello, " Аноним " > Хотелось бы узнать как считать тип аутентификации. Через AppSettings > естественно не получится, так как не в том разделе. > Пробовал считать через > System.Configuration.ConfigurationSettings.GetConfig, тоже не получается, > почему-то узел пустой оказывается. По идее приложение знает какой у него > тип аутентификацииЮ, т.е. это можно откуда-то считать, не трогая конфиг. > Как я честно говоря не нашел, так как все темы в основном заканчиваются > чтением либо из System.Configuration.ConfigurationSettings.AppSettings, > либо просто открывается свой конфиг и идет работа с Xml.
Надо использовать метод HttpContext.GetSection
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Hello, " Аноним " >> Хотелось бы узнать как считать тип аутентификации. Через AppSettings >> естественно не получится, так как не в том разделе. >> Пробовал считать через >> System.Configuration.ConfigurationSettings.GetConfig, тоже не получается, >> почему-то узел пустой оказывается. По идее приложение знает какой у него >> тип аутентификацииЮ, т.е. это можно откуда-то считать, не трогая конфиг. >> Как я честно говоря не нашел, так как все темы в основном заканчиваются >> чтением либо из System.Configuration.ConfigurationSettings.AppSettings, >> либо просто открывается свой конфиг и идет работа с Xml.
TK>Надо использовать метод HttpContext.GetSection
Делаю так:
Dim sect As System.Collections.Specialized.NameValueCollection = New System.Collections.Specialized.NameValueCollection
sect = CType(System.Web.HttpContext.Current.GetConfig("system.web/authentication"), System.Collections.Specialized.NameValueCollection)
AuthType = sect("mode")
не получается. Выдает ошибку приведения типа, как будто там нету ничего. Напишите, пожалуйста поподробнее откуда именно брать этот ключ.
А то у GetSection вообще тип object не ясно к чему приводить ...
Здравствуйте, BloodyCool, Вы писали:
BC>Здравствуйте, TK, Вы писали:
TK>>Hello, " Аноним " >>> Хотелось бы узнать как считать тип аутентификации. Через AppSettings >>> естественно не получится, так как не в том разделе. >>> Пробовал считать через >>> System.Configuration.ConfigurationSettings.GetConfig, тоже не получается, >>> почему-то узел пустой оказывается. По идее приложение знает какой у него >>> тип аутентификацииЮ, т.е. это можно откуда-то считать, не трогая конфиг. >>> Как я честно говоря не нашел, так как все темы в основном заканчиваются >>> чтением либо из System.Configuration.ConfigurationSettings.AppSettings, >>> либо просто открывается свой конфиг и идет работа с Xml.
TK>>Надо использовать метод HttpContext.GetSection
BC>Делаю так:
BC>Dim sect As System.Collections.Specialized.NameValueCollection = New System.Collections.Specialized.NameValueCollection BC>sect = CType(System.Web.HttpContext.Current.GetConfig("system.web/authentication"), System.Collections.Specialized.NameValueCollection) BC>AuthType = sect("mode")
BC>не получается. Выдает ошибку приведения типа, как будто там нету ничего. Напишите, пожалуйста поподробнее откуда именно брать этот ключ. BC>А то у GetSection вообще тип object не ясно к чему приводить ...
Посмотрел я на HttpContext там GetSection нету, он только в 2.0 и 3.0. а у меня АСП 1.1. Уже который день пытаюсь конфиг считать, не могу ...
Подскажите как, я уже весь инет излазил ... ничего найти не могу.
Hello, "BloodyCool"
> > Посмотрел я на HttpContext там GetSection нету, он только в 2.0 и 3.0. а у > меня АСП 1.1. Уже который день пытаюсь конфиг считать, не могу ... > Подскажите как, я уже весь инет излазил ... ничего найти не могу.
Для 1.1 есть метод HttpContext.GetConfig надо получить объект
соответствующий искомой секции, посмотреть через GetType() какой у него тип
и после этого, соотв. образом переписать кол
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Hello, "BloodyCool"
>> >> Посмотрел я на HttpContext там GetSection нету, он только в 2.0 и 3.0. а у >> меня АСП 1.1. Уже который день пытаюсь конфиг считать, не могу ... >> Подскажите как, я уже весь инет излазил ... ничего найти не могу.
TK>Для 1.1 есть метод HttpContext.GetConfig надо получить объект TK>соответствующий искомой секции, посмотреть через GetType() какой у него тип TK>и после этого, соотв. образом переписать кол
System.Web.HttpContext.Current.GetConfig("system.web") делаю так, в результате возвращается Nothing. И что это получается, у меня нет в конфиге узла system.web? Товарищи, помогите разобраться, почему это там ничего нет? Мало того, Current.User — Nothing а IsAuthenticated = False.
Может я где-то не там это вычитываю? Когда происходит аутентификация и все данные уже загружены? System.Web.HttpContext.Current.Request —
содержит всю информацию и заполнен. Т.е. кажется начинает проясняться, видимо я читаю данные. когда их еще нет, но тогда вопрос, почему в реквесте данные есть. И когда появляются нужные мне данные из веб конфига?
Здравствуйте, BloodyCool, Вы писали:
BC>Здравствуйте, TK, Вы писали:
TK>>Hello, "BloodyCool"
>>> >>> Посмотрел я на HttpContext там GetSection нету, он только в 2.0 и 3.0. а у >>> меня АСП 1.1. Уже который день пытаюсь конфиг считать, не могу ... >>> Подскажите как, я уже весь инет излазил ... ничего найти не могу.
TK>>Для 1.1 есть метод HttpContext.GetConfig надо получить объект TK>>соответствующий искомой секции, посмотреть через GetType() какой у него тип TK>>и после этого, соотв. образом переписать кол
BC>System.Web.HttpContext.Current.GetConfig("system.web") делаю так, в результате возвращается Nothing. И что это получается, у меня нет в конфиге узла system.web? Товарищи, помогите разобраться, почему это там ничего нет? Мало того, Current.User — Nothing а IsAuthenticated = False. BC>Может я где-то не там это вычитываю? Когда происходит аутентификация и все данные уже загружены? System.Web.HttpContext.Current.Request — BC>содержит всю информацию и заполнен. Т.е. кажется начинает проясняться, видимо я читаю данные. когда их еще нет, но тогда вопрос, почему в реквесте данные есть. И когда появляются нужные мне данные из веб конфига?
Так, уже считываю там где нужно, но ситуация не особо изменилась:
юзер уже не пустой, то есть есть и аутентифицирован, но вот конфиг по прежнему не читается ...
Читать пытаюсь так: System.Web.HttpContext.Current.ApplicationInstance.Context.GetConfig("system.web/authentication")
System.Web.HttpContext.Current.ApplicationInstance.Context.GetConfig("system.web") и System.Web.HttpContext.Current.ApplicationInstance.Context.GetConfig("authentication") все эти три варианта возвращают Nothing! Даже ума не приложу как это может получиться ...
Я дошел вот до чего, оцените на сколько это решение имеет право на жизнь:
If TypeOf (System.Web.HttpContext.Current.User.Identity) Is System.Security.Principal.WindowsIdentity Then'''тут считаю, что тип аутентификации - Windows. Но не уверен всегда ли так. По идее, если он виндовс, то и айдентити тоже виндовс, иначе генерик.
прав ли я? Есть ли другие методы узнать тип аутентификации из веб конфига. Так как там когда через контекст беру тип определяется внутренний, к которому не приведешь, что-то типа System.Web.Configuration.AuthenticationSection. И раз я к нему привести не могу естественно и считать из него тоже ничего не получается.
RE: проблема с web.config
От:
Аноним
Дата:
12.01.07 07:59
Оценка:
В веб конфиге, стандартном, есть раздел <authentication mode="Windows" /> , где собственно указан тип аутентификации.Он лежит в <system.web>
Хотелось бы узнать как считать тип аутентификации. Через AppSettings естественно не получится, так как не в том разделе.
Пробовал считать через System.Configuration.ConfigurationSettings.GetConfig, тоже не получается, почему-то узел пустой оказывается. По идее приложение знает какой у него тип аутентификацииЮ, т.е. это можно откуда-то считать, не трогая конфиг. Как я честно говоря не нашел, так как все темы в основном заканчиваются чтением либо из System.Configuration.ConfigurationSettings.AppSettings, либо просто открывается свой конфиг и идет работа с Xml.
Открыть Web.config на мой взгляд не вариант (хотя пока так и сделал).
Еще раз подитожу, как считать тип аутентификации из стандартного web.config?
Использую Framework 1.1. язык — VB.
Читай значение атритута mode у элемента authentication, а не содержимое узла.
Можно использовать xmlreader
В веб конфиге, стандартном, есть раздел <authentication mode="Windows" /> , где собственно указан тип аутентификации.Он лежит в <system.web>
Хотелось бы узнать как считать тип аутентификации. Через AppSettings естественно не получится, так как не в том разделе.
Пробовал считать через System.Configuration.ConfigurationSettings.GetConfig, тоже не получается, почему-то узел пустой оказывается. По идее приложение знает какой у него тип аутентификацииЮ, т.е. это можно откуда-то считать, не трогая конфиг. Как я честно говоря не нашел, так как все темы в основном заканчиваются чтением либо из System.Configuration.ConfigurationSettings.AppSettings, либо просто открывается свой конфиг и идет работа с Xml.
Открыть Web.config на мой взгляд не вариант (хотя пока так и сделал).
Еще раз подитожу, как считать тип аутентификации из стандартного web.config?
Использую Framework 1.1. язык — VB.
Читай значение атритута mode у элемента authentication, а не содержимое узла.
Видишь не стоит читать это содержимое, чем плох способ в таком случае просто прочесть файл? Эта информация уже считана. Нужно просто знать откуда ее брать. Есть идея использовать для этого тип айдентити принципала, так как если аутентификация виндовозная, то и принципал — виндовозный. Это лучше чем читать из файла, но все же хотелось бы знать где хранится тип аутентификации, чтобы брать его так сказать из первоисточников а не изощряться и уж, конечно, не считывать самому.
Можно использовать xmlreader