|
|
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
Устанавливаю <authentication mode="Windows" /> в iis тоже поставил. 1. Можно ли как то дополнить этот метод аутентификации, скажем подключится к событию "после аутентификации" и сделать дополнительные проверки, если они не пройдены то слать лесом? 2. Сайт хостится в iis, стоит запрет на анонимный вход, стоит виндовая аутентификация, привязка https, сертификат сгенерён для полного доменного имени компа. Когда заходишь по полному пути (имя компа + домен), то выскакивает окно запроса виндового пользователя, но когда входишь только по имени машины, то никакой проверки не происходит, всё открыто (браузер просто ругается что сертификат сгенерён для другого адреса, но можно забить и лазить спокойно). Что это за фигня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 10:20:51 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
Ну и вопрос вдогонку. на сайт можно попасть разными способами, по IP по имени, по полному имени (с доменом, речь о внутрикорпоративном ресурсе). А SSL сертификат генерится на одно имя, и когда заходишь скажем по IP или по короткому имени - браузер ругается что неверный сертификат, как перенаправлять на нужный адрес (в данном случае на полное имя сервера). Так сделано у сбера в личном кабинете https://194.186.207.11 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 10:33:16 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
Как сделать логов при доменной(виндовой) аутентификации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 10:34:16 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabas1. Можно ли как то дополнить этот метод аутентификации, скажем подключится к событию "после аутентификации" и сделать дополнительные проверки, если они не пройдены то слать лесом? HttpApplication.AuthorizeRequest событие. barrabas2. Сайт хостится в iis, стоит запрет на анонимный вход, стоит виндовая аутентификация, привязка https, сертификат сгенерён для полного доменного имени компа. Когда заходишь по полному пути (имя компа + домен), то выскакивает окно запроса виндового пользователя, но когда входишь только по имени машины, то никакой проверки не происходит, всё открыто (браузер просто ругается что сертификат сгенерён для другого адреса, но можно забить и лазить спокойно). Что это за фигня? Ты очевидно пользуешься IE где сайты делятся на группы с разными настройкаи безопасности. Когда заходишь по имени машины, то считается что это интранет, а когда по полному доменному имени, то интернет. Настройки безопасности по умолчанию разрешают авто-вход с windows аутентификацией для интранет сайтов и запрещают для интернет сайтов. Добавь полное доменное имя сайта в зону Local Intranet и все должно заработать. Подобные настройки нужно сделать на всех машинах в сети. Процесс можно автоматизировать путем написания logon script и групповых политик. Поговори с вашим админом. barrabasна сайт можно попасть разными способами, по IP по имени, по полному имени ... как перенаправлять на нужный адрес (в данном случае на полное имя сервера). Разными способами можно сделать. - В коде: проверять в событии BeginRequest по какому имени заходят через значение заголовка Host, например - Настройки IIS: Использовать модуль URLRewrite - Настройки IIS: создать отдельный сайт для полного доменного имени и для остальных вариантов (ip, короткое имя машины) и делать редирект. barrabasКак сделать логов при доменной(виндовой) аутентификации? Отправь ответ с кодом 401 Unauthorized. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 11:44:31 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 15:41:36 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
bazile, А как ? авторОтправь ответ с кодом 401 Unauthorized. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 15:43:36 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
Говорят можно добавить пользователей домена в группу, в конфиге прописать правило что пускать только пользователей этой группы, видимо в разделе авторизации. Только примера найти не могу. Как узнать какие права/группы у доменного пользователя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 16:05:07 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasГоворят можно добавить пользователей домена в группу, в конфиге прописать правило что пускать только пользователей этой группы, видимо в разделе авторизации. Кошернее завязываться на SQL роли (родной роле провайдер) при виндовой аутентификации. И админов напрягать не нужно с группами. И на роль уже вешать всякие правила, декларативные или коде бехайнд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 16:43:17 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
МСУ, Те Можно сделать так, есть бдшные пользователи с южными ролями и асп замапит их и конект к бд будет под правами этого пользователя? У меня уже есть бд-оракл и система где пользователи оракловые с виндовой аутентификацией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 18:30:01 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasМСУ, Те Можно сделать так, есть бдшные пользователи с южными ролями и асп замапит их и конект к бд будет под правами этого пользователя? Нету "бдшных пользователей". Есть доменные пользователи и сиквельные роли. Их отношение хостится в aspnet_Users / aspnet_Roles / aspnet_UsersInRoles. Всё. Никаких хранений паролей в БД, разумеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2012, 21:14:48 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
МСУbarrabasМСУ, Те Можно сделать так, есть бдшные пользователи с южными ролями и асп замапит их и конект к бд будет под правами этого пользователя? Нету "бдшных пользователей". Есть доменные пользователи и сиквельные роли. Их отношение хостится в aspnet_Users / aspnet_Roles / aspnet_UsersInRoles. Всё. Никаких хранений паролей в БД, разумеется. так к бд идёт коннект под специальным пользователем с максимальными правами чтоли, я не пойму как применяются БД роли к доменным пользователям, т.е у меня есть процедура которую может выполнять только пользователи с правами ROLE1, как будет осуществляться контроль на уровне БД то (если пользователи не БДшные)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 09:55:25 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
bazilebarrabas1. Можно ли как то дополнить этот метод аутентификации, скажем подключится к событию "после аутентификации" и сделать дополнительные проверки, если они не пройдены то слать лесом? HttpApplication.AuthorizeRequest событие. а в какой секции к нему лучше повесить обработчик? в public override void Init() {}??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 12:58:00 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasbazileпропущено... HttpApplication.AuthorizeRequest событие. а в какой секции к нему лучше повесить обработчик? в public override void Init() {}??? просто судя по отладчику он несколько раз в него заходит, хотя вроде как апликейшин один раз должен инициализороваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 12:59:48 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasbazile, А как ? авторОтправь ответ с кодом 401 Unauthorized. Можно про это поподробнее, сам принцип Нужно чтобы сайт вернулся на главную страницу, старая сессия завершилась, браузер высветил окно с запросом логина и пароля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 14:19:08 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasbazile, А как ? авторОтправь ответ с кодом 401 Unauthorized. Есть AuthorizeRequest(object sender, EventArgs e) как вернуть отсюда 401? Т.е. виндовая прошла авторизация полюбому, сюда я вставляю свой код проверки в БД (или обработку логоффа), мне нужно отсюда сказать я пользователь не прошёл аутентификацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 14:38:31 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasЕсть AuthorizeRequest(object sender, EventArgs e) как вернуть отсюда 401? HttpRequest.Current.Response.Status = "401 Unauthorized"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 16:58:00 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
bazilebarrabasЕсть AuthorizeRequest(object sender, EventArgs e) как вернуть отсюда 401? HttpRequest.Current.Response.Status = "401 Unauthorized"; ну так переходе на страницу логоффа, где мы это сделаем мы останемся там и будем постоянно спрашивать пароль и получать 401, принцип я не пойму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 17:16:51 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasтак к бд идёт коннект под специальным пользователем с максимальными правами чтоли Разумеется. Никаких трастед коннекций. barrabasя не пойму как применяются БД роли к доменным пользователям Точно так же, как и с мембершипом. barrabasт.е у меня есть процедура которую может выполнять только пользователи с правами ROLE1, как будет осуществляться контроль на уровне БД то (если пользователи не БДшные)? Контроль на уровне БД - никак, так как у нас соединение к БД не трастовое. Можно в хранимку тупо передавать логин юзера. А вообще - безопасность средствами SQL - зло. Есть родной ролепровайдер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 18:19:51 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
Кстати, без разницы, какая строка соединения. Главное, чтобы доступ к таблицам и хранимкам роле провайдера был. Так что тут ограничений никаких нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2012, 21:49:20 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
МСУА вообще - безопасность средствами SQL - зло. Есть родной ролепровайдер. нуну (родной для кого? к бд не только веб приложение коннектится, а куча других. Безопасность на уровне БД это есть основа основ), понятно, мне это не подходит. Идеальный вариант был бы "олицетворение", но доменом мы не рулим, а там нужно настраивать кучу всего в нём, чтобы пользователь подключившийся к вебприложению создавал соединение под собой, тем более у пользователей и так пароля нет (включена внешняя аунтификация). Буду свой мембершиппровайдер реализовать с нужной логикой. Вопрос по логоффе при виндовой аунтификации открыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 08:54:37 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabasБезопасность на уровне БД это есть основа основ), понятно, мне это не подходит. Что подразумевается под "безопасность на уровне БД"? Варианты: 1. Безопасность средствами СУБД (например, сиквельные логины и роли) 2. Безопасность средствами приложения (например, таблички с логинами / ролями) Например, мембершип относится ко 2 категории. Первый же вариант - зло. Немасштабируемое убогое решение. barrabasИдеальный вариант был бы "олицетворение" Я разговариваю со стенкой? Еще раз - у нас полноценная Windows аутентификация со всеми вытекающими. Просто ролями рулит родной ролепровайдер, располагаются роли там, где всегда - в табличке aspnet_Roles. Маппинг виндовых юзеров и ролей - через aspnet_Users и aspnet_UsersInRoles. Вся ролевая объектная модель, доступная через класс Role, прекрасно работает. Можно и профили подключить. Что не понятно-то? barrabasБуду свой мембершиппровайдер реализовать с нужной логикой. Садитесь, двойка. Причем тут вообще мембершип barrabasВопрос по логоффе при виндовой аунтификации открыт Не нужен. Залогиниться из-под другого доменного юзера - через стандартный механизм "Запуск от имени другого пользователя" инстанса браузера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2012, 14:30:33 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
МСУbarrabasБезопасность на уровне БД это есть основа основ), понятно, мне это не подходит. Что подразумевается под "безопасность на уровне БД"? Варианты: 1. Безопасность средствами СУБД (например, сиквельные логины и роли) 2. Безопасность средствами приложения (например, таблички с логинами / ролями) Например, мембершип относится ко 2 категории. Первый же вариант - зло. Немасштабируемое убогое решение. barrabasИдеальный вариант был бы "олицетворение" Я разговариваю со стенкой? Еще раз - у нас полноценная Windows аутентификация со всеми вытекающими. Просто ролями рулит родной ролепровайдер, располагаются роли там, где всегда - в табличке aspnet_Roles. Маппинг виндовых юзеров и ролей - через aspnet_Users и aspnet_UsersInRoles. Вся ролевая объектная модель, доступная через класс Role, прекрасно работает. Можно и профили подключить. Что не понятно-то? barrabasБуду свой мембершиппровайдер реализовать с нужной логикой. Садитесь, двойка. Причем тут вообще мембершип barrabasВопрос по логоффе при виндовой аунтификации открыт Не нужен. Залогиниться из-под другого доменного юзера - через стандартный механизм "Запуск от имени другого пользователя" инстанса браузера. 1. Чем оно немаштабируемое то? есть пользователь есть права на пакеты/хранимки в БД, всё как раз логично и безопасно, так уже больше 10 лет назад сделано и работает для виндовых программ, о асп.нет тогда и не думали. 2. Уже есть готовая система, в ней пользователи бдшные с бдшными ролями, пользователи без паролей (в оракле для них включена внешняя аутентификация), менять эту систему не нужно, с ней работают много виндовых приложений, вести одни и те же роли в двух местах (в БД и аспшной таблицке) - бред (Роли и пользователи и так уже хранятся в системных таблицах БД, читай и используй.). Олицетвориени помогло бы реально, пользователь вебресурса конектился бы к БД под собой, как это делают виндовые приложения, ничего переделывать не нужно было бы, но увы, домен не настроен на такую работу. 3. Щас разбираюсь как там всё устроено внутри. 4. Реально не могу найти, в сайте на шарепоинте посмотрел, каким то яваскриптом делается, не смахивает на стандартное решение, хотя куда уж роднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2012, 23:57:16 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
barrabas1. Чем оно немаштабируемое то? есть пользователь есть права на пакеты/хранимки в БД, всё как раз логично и безопасно, так уже больше 10 лет назад сделано и работает для виндовых программ, о асп.нет тогда и не думали. База данных - это тупое хранилище. Безопасность и бизнес-логика средствами БД - параноя. Есть апп слой - там бизнесу самое место. Почитайте про three-tier , встряхните седой мозг. Смешивать data tier и logic tier - самоубийство. barrabas2. Уже есть готовая система, в ней пользователи бдшные с бдшными ролями, пользователи без паролей (в оракле для них включена внешняя аутентификация), менять эту систему не нужно, с ней работают много виндовых приложений, вести одни и те же роли в двух местах (в БД и аспшной таблицке) - бред (Роли и пользователи и так уже хранятся в системных таблицах БД, читай и используй.). Бред - это состояние архитектора Вашей недосистемы в момент её проектирования. Роли дублировать никто не заставляет, нужно было изначально закладываться на нормальные ролевые политики, а не на роли самой БД. Убейте архитектора. barrabasОлицетвориени помогло бы реально, пользователь вебресурса конектился бы к БД под собой, как это делают виндовые приложения, ничего переделывать не нужно было бы, но увы, домен не настроен на такую работу. Откройте для себя ActiveDirectoryMembershipProvider. Хотя, если все юзеры доменные - то достаточно чудесной Windows аутентификации, при которой не нужно вводить пароль и хранить его в куках. Самое безопасное решение. barrabas3. Щас разбираюсь как там всё устроено внутри. Так вот сначала разберитесь, а потом рассказывайте мне сказки про идеальную безопасность средствами БД :) barrabas4. Реально не могу найти, в сайте на шарепоинте посмотрел, каким то яваскриптом делается, не смахивает на стандартное решение, хотя куда уж роднее. Какой нафиг яваскрипт, атец http://support.microsoft.com/kb/294676 Использование команды «Запуск от имени» с ярлыком 1. Перейдите к нужному ярлыку: нажмите кнопку Пуск, выберите пункт Программы и найдите ярлык в меню Программы. Если в папке «Программы» меню Пуск необходимого ярлыка нет, выберите его из соответствующего местоположения. 2. Удерживая клавишу SHIFT, щелкните правой кнопкой мыши ярлык и выберите команду Запуск от имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2012, 18:38:34 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
[quot МСУ] Какой нафиг яваскрипт, атец http://support.microsoft.com/kb/294676 Использование команды «Запуск от имени» с ярлыком 1. Перейдите к нужному ярлыку: нажмите кнопку Пуск, выберите пункт Программы и найдите ярлык в меню Программы. Если в папке «Программы» меню Пуск необходимого ярлыка нет, выберите его из соответствующего местоположения. 2. Удерживая клавишу SHIFT, щелкните правой кнопкой мыши ярлык и выберите команду Запуск от имени. пипец удобно я победил уже (юзал MVC, но на формсах аналогично можно в разные aspх на лоадпайдж повесить) в Global.asax.cs Код: c# 1. 2. 3. 4. контроллер Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. отлично работает (проверял в FF и IE, другого нет, да и для корп решения не важно, один фиг IE корп стандарт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2012, 18:10:09 |
|
||
|
Можно ли "расширить" аутентификацию "windows"?
|
|||
|---|---|---|---|
|
#18+
переделал (без сессии сделал) и проверил на всех браузерах (IE, opera, ff, хром) разные браузеры повторяют запрос, в случае return new HttpUnauthorizedResult();, разное кол-во раз (опера 2-3 раза пробует, фф - 2, IE с первого раза понимает), поэтому ограничил по времени, дал браузеру время потупить 3 секунды. Пользователь дольше вбивает логин или пароль. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2012, 13:07:24 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37609495&tid=1359953]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 498ms |

| 0 / 0 |
