![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Имеется клиентское приложение. Должна быть процедура аутентификации.
Я узнал, что можно в настройках проекта указать использование служб, в частности Forms Authentication. Здесь же нужно указать место размещения этой службы и службы ролей... Что за размещение здесь нужно указывать, на что это повлияет? Можно ли в качестве поставщика членства и ролей использовать SQL Server? И где про это можно почитать поконкретней? (определённые здесь классы, свойства, интерфейсы, методы...) -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| jonie |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||||
|
|||||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Да там в основном про asp. Но можно и в клиентском приложении Windows Forms....
Нашёл кое-что на эту тему в одной книге... Тут сначала пишется сама служба приложения (вручную... на C#.NET), а потом она вызывается из клиентского приложения (тут пример web-приложения, а потом пример клиента с формой для аутентификации откуда не возьмись форма берётся...). Ну скажем всё это работает... Только смысл то я тогда не понимаю во всех этих настройках в Visual Studio... всё равно всё вручную делается, включая саму службу! Что за бред? Вобщем что-то непонятно. Если никто не имел с этим дела...жаль. Это сообщение отредактировал(а) ДобренькийПапаша - 15.6.2009, 07:59 -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
ДобренькийПапаша, Forms Authentication разрабатывался для использования под ASP.NET. И надстройки вроде Membership API - тоже.
Впринципе никто не запрещает использовать эти фишки вне ASP.NET - но получится не так "вкусно": например, модуль аутентификации, который считывает Cookies, дешифрует и залогинивает пользователя здесь, я так понимаю, уже не прикрутишь (но можно все это сделать вручную).
В этом и заключается стандартный подход. |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
ДобренькийПапаша, Membership под WinForms вообще не имеет особого смысла - у тебя всегда известен конкретный пользователь, под которым запущено приложение. И роль его тоже известна.
|
|||
|
||||
| Conkistador |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.6.2009 Репутация: 2 Всего: 2 |
PashaPash, ну это если использовать аутентификацию Windows, иногда проще написать упрощенную собственную аутентификацию
|
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
Conkistador, что значит "если использовать"? пользователь, запустивший приложение, уже залогинен в системе задолго до запуска. У него или есть права доступа к каким-то ресурсам, или нет.
Какой смысл спрашивать у локального администратора имя и пароль к winforms приложению, если он в системе может сделать все что угодно? В том числе и поменять эти "упрощенный" пароль напрямую в данных приложения. |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
ПашаПаш, то есть Вы имеете ввиду что надо проводить аутентификацию Windows, а программную свою по базе вообще можно и не использовать? Или просто настоятельно советуете использовать Windows аутентификацию дополнительно?
-------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
Я имею в виду что аутентификация Windows уже произведена - пользователь ввел свои имя и пароль при входе в систему. А для проведения "програмной по базе" у приложения, т.е. у пользователя, зашедшего в систему и запустившего приложение, должны быть права на просмотр имен и паролей всех пользователей в этой базе. А раз есть права - ничто не может помешать ему "программно залогиниться" вообще как кто угодно. На пальцах: любой продвинутый пользователь не будет тупо созерцать AuthenticationForm, а просто возьмет и сделает Select password From usrpwd. И легкий налет безопасности исчезнет. |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
аутентификация действительно проведена уже, но вот роль-то откуда известна? её надо высчитать из WindowsIdentity, чтобы дать в результате пользователю доступные ему права (авторизация) вот для этого и нужна (веб)служба авторизации - некий веб-сервис, который запущен где-либо со всеми требуемыми правами, отвечает приложению, а, стало быть, и запустившему его аутентифицированному пользователю, что он может делать и запускай её хоть под локальным админом машины, если веб-сервис запущен, например, под доменными администраторами, в которые локальный админ не добавлен, то ничего он не сможет сделать из того, что ему не разрешат в общем, быть авторизации в интранете |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
кстати, и аутентификация формами тут тоже вполне может быть применима - быть может, некой системе абсолютно нет дела, под какой учёткой сидит пользователь, у неё свои юзеры, у винды - свои (какая-нибудь, например, программка для инет-кафе)
задачей всё определяется, конечно, но MS недвусмысленно намекает, что главный инструмент аутентификации/авторизации - соответствующие службы |
|||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
А шифрование паролей? -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
||||
|
||||
| ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Ну и как тогда лучшим образом (для безопасности приложения) проводить аутентификацию в Windows приложении?
Сначала Windows Indentity а потом аутентификация реализованная своим приложением? Ну шифрование реализовывать надо в любом случае! [Или я не прав??? -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 13 Всего: 49 |
Топик как-бы об авторизации в полностью локальном приложении и ограничении доступа к локальным ресурсам. Т.е. есть база с доступом все пользователям, и программа которая при поптыке запуска спрашивает пароль, проверяя его в этой же базе. Сервисы из примера выше выдают токены к другим удаленным ресурсам, которые этим сервисами доверяют - не наш случай. Интернет-кафешка - тоже доступа к удаленным ресурсам, ну или очень серьезная замена shell и вообще большей части винды - вряд ли ее можно рассматривать как обычное winforms приложение. А отладчик, которым пользователь просто "переступит" на твой Application.Run? Добавлено через 3 минуты и 52 секунды Нет, просто ограничить доступ к базе (и доступ к конкретным данным в базе) определенным пользователям, и использовать windows auth для соединения с sql server. Если слишком сложно - перейти на 2-tier приложение, с сервером между клиентом и базой. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |