Помогите разобраться.
Насколько я понял в NET основным способом аутоинтефикации является проверка пользователя windows. Т.е пользователь логинится в винду, а потом уже в зависимости от прав этого пользователя ему либо позволяются либо нет те или иные действия. А как сделать свою авторизацию, т.е на клиенте пользователь вбивает пароль и логин, потом сервер сверяется с БД и решает авторизовать его или нет.
Здравствуйте, knst, Вы писали:
K>Помогите разобраться. K>Насколько я понял в NET основным способом аутоинтефикации является проверка пользователя windows. Т.е пользователь логинится в винду, а потом уже в зависимости от прав этого пользователя ему либо позволяются либо нет те или иные действия. А как сделать свою авторизацию, т.е на клиенте пользователь вбивает пароль и логин, потом сервер сверяется с БД и решает авторизовать его или нет.
Придумать способ передачи атутентификационной информации (например в хидерах запроса или CallContext), затем написать клиентскую и серверную канальные синки, первая из которых будет аутентификационную информацию заполнять, а вторая проверять.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, knst, Вы писали:
K>>Помогите разобраться. K>>Насколько я понял в NET основным способом аутоинтефикации является проверка пользователя windows. Т.е пользователь логинится в винду, а потом уже в зависимости от прав этого пользователя ему либо позволяются либо нет те или иные действия. А как сделать свою авторизацию, т.е на клиенте пользователь вбивает пароль и логин, потом сервер сверяется с БД и решает авторизовать его или нет.
AVK>Придумать способ передачи атутентификационной информации (например в хидерах запроса или CallContext), затем написать клиентскую и серверную канальные синки, первая из которых будет аутентификационную информацию заполнять, а вторая проверять.
можно немного поподробнее (только начал с NET разбираться)
Насколько я понимаю в NET есть возможность привязать к потоку пользователя (Participal)
Но как сделать так чтобы пользователя клиентскому приложению назначал сервер , а сам он
этого сделать не мог.
Или надо каждый раз при обращении передавать логин и пароль?
. Если с английским все хорошо, то могу посоветовать книгу за авторством Ingo Rammer, Advanced .NET Remoting.
K>Насколько я понимаю в NET есть возможность привязать к потоку пользователя (Participal)
Principal. Да. Но это имеет отношение не к аутентификации и авторизации, а уже к проверке ролей.
K>Но как сделать так чтобы пользователя клиентскому приложению назначал сервер , а сам он K>этого сделать не мог.
Я же сказал — нужно написать собственную авторизующую канальную синку.
K>Или надо каждый раз при обращении передавать логин и пароль?
Не обязательно. Есть такое понятие как авторизация по билету. При первой авторизации, проводимой по полной программе, клиенту выдается секретный кусок данных, называемый билетом. Внутри сервера хранится сопоставление между выданными билетами и результатом авторизации. Билет действительен только в течении одной сессии. Да, пароль обычно тоже не передают, передают его криптохеш.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, knst, Вы писали:
K>>можно немного поподробнее (только начал с NET разбираться)
AVK>Можно. Для этого надо читать документацию. Вопрос очень объемный, не для исследования в форуме в диалоговом режиме.
. Если с английским все хорошо, то могу посоветовать книгу за авторством Ingo Rammer, Advanced .NET Remoting.
Книгу нашел в электронном виде, скачал. Спасибо за совет
AVK>Не обязательно. Есть такое понятие как авторизация по билету. При первой авторизации, проводимой по полной программе, клиенту выдается секретный кусок данных, называемый билетом. Внутри сервера хранится сопоставление между выданными билетами и результатом авторизации. Билет действительен только в течении одной сессии. Да, пароль обычно тоже не передают, передают его криптохеш.
Ссылочку бы на статью или хотябы английский вариант термина "авторизация по билету".
Кстати это поддерживаемая NET'ом функциональность или просто распространенный подход?
Здравствуйте, TK, Вы писали:
TK>Hello, "knst" >> >> можно немного поподробнее (только начал с NET разбираться)
TK>Попробуй почитать статьи с сайта или с gotdotnet. там механизмы создания TK>custom аутентификации подробно разобраны.
Не нашел...
Буду благодарен за ссылочку.
Здравствуйте, knst, Вы писали:
K>Ссылочку бы на статью или хотябы английский вариант термина "авторизация по билету". K>Кстати это поддерживаемая NET'ом функциональность или просто распространенный подход?
Если не хочешь писать свою аутентификацию и авторизацию, то советую посмотреть на авторизацию IIS. .net remoting компонент можно запускать под ASP.NET хостом, в котором все уже реализовано.
По поводу аутентификации и авторизации поищи в MSDN книги "Improving Web Application Security: Threats and Countermeasures" и "Building Secure ASP.NET Applications".
А вот еще статья из MSDN по поводу хостинга под IIS (как говорится для даунов, если совсем ничего не понятно. Собственно, я с нее начинал все копать : "Remoting Example: Hosting in Internet Information Services (IIS)"
Удачи!
MCSD.NET << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[6]: вопрос по авторизацию и remoting
От:
Аноним
Дата:
16.05.05 17:27
Оценка:
Здравствуйте, 0Z, Вы писали:
0Z>Здравствуйте, knst, Вы писали:
K>>Ссылочку бы на статью или хотябы английский вариант термина "авторизация по билету". K>>Кстати это поддерживаемая NET'ом функциональность или просто распространенный подход? 0Z>Если не хочешь писать свою аутентификацию и авторизацию, то советую посмотреть на авторизацию IIS. .net remoting компонент можно запускать под ASP.NET хостом, в котором все уже реализовано.
0Z>По поводу аутентификации и авторизации поищи в MSDN книги "Improving Web Application Security: Threats and Countermeasures" и "Building Secure ASP.NET Applications".
0Z>А вот еще статья из MSDN по поводу хостинга под IIS (как говорится для даунов, если совсем ничего не понятно. Собственно, я с нее начинал все копать : "Remoting Example: Hosting in Internet Information Services (IIS)"
0Z>Удачи!
Как раз хотелось бы написать свое...
Задача в общем примерно такая
БД над ней обертка-сервер к нему обращаются клиентские приложения
общаются через remoting и TCP
Здравствуйте, <Аноним>, Вы писали:
А>Как раз хотелось бы написать свое... А>Задача в общем примерно такая А>БД над ней обертка-сервер к нему обращаются клиентские приложения А>общаются через remoting и TCP
Ну тогда по pattern'ам MS тебе надо делать Windows-сервис, под ним .net remoting, и проводить свою авторизацию
Здравствуйте, 0Z, Вы писали:
0Z>Здравствуйте, <Аноним>, Вы писали:
А>>Как раз хотелось бы написать свое... А>>Задача в общем примерно такая А>>БД над ней обертка-сервер к нему обращаются клиентские приложения А>>общаются через remoting и TCP 0Z>Ну тогда по pattern'ам MS тебе надо делать Windows-сервис, под ним .net remoting, и проводить свою авторизацию
собственно к этому варианту и пришел
только не могу понять как делать авторизацию
т.е я так понимаю должен быть некий объект доступный через remoting
клиент вызывает его метод что-то вроде login
после этого он может работать с основным объектом сервера, который выдает ему данные работает с Бд и тд (если не логиниться то ссылкку на объектом сервера он просто не получит)
так вот вопрос для меня по прежнему открвыт как реализовывать авторизацию, что должен делать метод login после того как он сверит пароль и логин с теми что есть в базе и поймет что юзер нормальный и можно пускать.
Здравствуйте, knst, Вы писали:
K>так вот вопрос для меня по прежнему открвыт как реализовывать авторизацию, что должен делать метод login после того как он сверит пароль и логин с теми что есть в базе и поймет что юзер нормальный и можно пускать.
По этому поводу посмотри, как работает AzMan под 2003, можно идеи взять оттуда, если собираешься реализовывать сервак не только под 2003
Здравствуйте, 0Z, Вы писали:
0Z>Здравствуйте, knst, Вы писали:
K>>так вот вопрос для меня по прежнему открвыт как реализовывать авторизацию, что должен делать метод login после того как он сверит пароль и логин с теми что есть в базе и поймет что юзер нормальный и можно пускать. 0Z>По этому поводу посмотри, как работает AzMan под 2003, можно идеи взять оттуда, если собираешься реализовывать сервак не только под 2003
что это и где посмотреть можно?
Здравствуйте, knst, Вы писали:
0Z>>По этому поводу посмотри, как работает AzMan под 2003, можно идеи взять оттуда, если собираешься реализовывать сервак не только под 2003 K>что это и где посмотреть можно?
AzMan — это authorization manager. В 2003 — это встроенная компонента.
Поищи в гугле и MSDN'e, я о нем читал в MSDN Magazine
Здравствуйте, 0Z, Вы писали:
0Z>Здравствуйте, knst, Вы писали:
0Z>>>По этому поводу посмотри, как работает AzMan под 2003, можно идеи взять оттуда, если собираешься реализовывать сервак не только под 2003 K>>что это и где посмотреть можно?
0Z>AzMan — это authorization manager. В 2003 — это встроенная компонента. 0Z>Поищи в гугле и MSDN'e, я о нем читал в MSDN Magazine
ок спасибо посмотрю
Я вроде бы нашел статью где, как говорил толстый мальчик в телевизоре "все подробненко написано" http://www.gotdotnet.ru/LearnDotNet/NETFramework/38408.aspx
Здравствуйте, knst, Вы писали:
K>Ссылочку бы на статью или хотябы английский вариант термина "авторизация по билету".
authentication ticket. Можно почитать описание протокола Kerberos. Например здесь или здесь.
K>Кстати это поддерживаемая NET'ом функциональность или просто распространенный подход?