|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Доброго времени суток, друзья. Помогите, пожалуйста, мне. Я замучился... честно... ОЧЕНЬ много информации совершенно не понятной мне. Чуть ли не десятки способов аутентификации, создания модели БД и прочее... Я в этом деле новичек (разработки бизнес-приложений) и очень хочется разобраться в этом всём деле. В общем так: Есть приложение с простой формой Логин-Пароль. Допустим имеется MySQL сервер с базой данных. В нём имеются таблицы... ну пусть Users (со списком всех пользователей, их логинов и паролей (пароли возможно буду кодировать в MD5) - приложению ведь надо как-то аутентифицировать пользователя?) и таблицы с разной информацией. Я хочу создать приложение, которое будет располагаться на хостинге (на том же где и БД), то есть это стандартное веб-SL приложение, и, после проверки достоверности введенных логина и пароля, выдавать соответствующий пользователю контент. В связи с этим, возникает ряд вопросов по поводу безопасности соединения с БД и приложения в целом. Я это вижу так - у БД имеются (минимум) 3 учетные записи - условно пусть будут guest (имеет доступ только чтение только для таблицы Users), user (доступ на чтение остальных таблиц), admin (доступ на запись всех таблиц). Первоначально происходит соединение приложения с БД по записи guest ( Вопрос: пароль и логин для соединение по учетной записи guest, видимо, придется хранить в самом приложении. Это безопасно? Ведь приложение можно скачать с сервера, а, затем, и вскрыть его. Посоветуйте, как тут лучше организовать этот вопрос? ), далее, после проверки на соответствие логина и пароля, программа создаёт новое соединение с бд по учетной записи user или admin (опять таки, где хранить эти пароли для соединения с бд?), и выдаётся соответствующий контент согласно логике работы приложения. Плюс (хотя это минус), я совершенно не представляю как ИМЕННО грамотно произвести соединение с БД. Ручками? Каким-то компонентом? Пожалуйста, посоветуйте безопасные варианты. Теперь - сервис аутентификации. Нужен ли он мне и как его применить здесь? Таким образом, я прошу Вас подсказать мне следующее: 1. Сервис аутентификации. Нужен ли он мне и, если да, то как его применить здесь? 2. Где безопасно хранить (и в каком виде) информацию логина-пароля для соединения с БД? 3. Каким образом наиболее правильно и безопасно совершать соединение с БД? Ну, и, Ваши рекомендации по поводу моего взгляда на работу приложения. Возможно, нужно делать что-то иначе? Я не прошу написать мне весь код (я сам хочу), я прошу помочь разобраться с организацией такого рода приложения. Хотя, какие-то куски кода могли бы и пригодиться. В общем вот так... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2012, 15:32 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
1. Да, нужен, что это и как его готовить прочитайте в книжке, в двух словах это не объяснишь как и ролевой доступ 2. В конфигурационном файле на сервере. 3. Для SL существует RIA services, как стандартная прокладка. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2012, 15:59 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
skole1. Да, нужен, что это и как его готовить прочитайте в книжке, в двух словах это не объяснишь как и ролевой доступ 2. В конфигурационном файле на сервере. 3. Для SL существует RIA services, как стандартная прокладка. 2. В конфигурационном файле на сервере. То есть, на самом хостинге? Это REG.RU, я там таких вещей как "конфигурационный файл" не видел. Можно, пожалуйста, подробнее? И потом, почему приложение будет иметь к нему доступ, а, скажем, случайный гость сайта не будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2012, 16:27 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
skole, и потом, обращение из SL приложения к какому-то файлу ведь будет явное в коде... или же дело действительно лишь в доступе этого файла? В таком случае, повторяется вопрос в предыдущем посте... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2012, 16:31 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Mans7skole1. Да, нужен, что это и как его готовить прочитайте в книжке, в двух словах это не объяснишь как и ролевой доступ 2. В конфигурационном файле на сервере. 3. Для SL существует RIA services, как стандартная прокладка. 2. В конфигурационном файле на сервере. То есть, на самом хостинге? Это REG.RU, я там таких вещей как "конфигурационный файл" не видел. Можно, пожалуйста, подробнее? И потом, почему приложение будет иметь к нему доступ, а, скажем, случайный гость сайта не будет? даже не знаю что и ответить, спрашиваете о базовых вещах config ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2012, 16:34 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Для доступа к БД у вас будет логин и пароль, которые будут храниться в конфиге на сервере. Когда клиент запросит SL-приложение его клиентская часть установит вебсервис с сервером. Когда потребуются данные, клиентская часть обратится по вебсервису к серверной части, которая в свою очередь запросит данные из БД согласно ролевому доступу или какой-либо другой политике аутентификации данного клиента. Чтобы не задавать лишних вопросов, прочитайте книжечку с описанием RIA services for Silverlight Если что будет непонятно, здесь вам объяснят. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2012, 17:08 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
pationMans7пропущено... 2. В конфигурационном файле на сервере. То есть, на самом хостинге? Это REG.RU, я там таких вещей как "конфигурационный файл" не видел. Можно, пожалуйста, подробнее? И потом, почему приложение будет иметь к нему доступ, а, скажем, случайный гость сайта не будет? даже не знаю что и ответить, спрашиваете о базовых вещах config Ааа, так речь идет о файле конфигурации ПРИЛОЖЕНИЯ! Я-то подумал о каком-либо спец.файле самого хостинга (или моего сайта этого хостинга). Теперь всё встало на свои места! pation , skole , спасибо Вам большое, обязательно ознакомлюсь с указанной литературой как только смогу! И, если будет необходимо, обращусь ещё раз. Но, теперь, я хотя бы знаю в каком направлении копать - а это уже немало! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2012, 11:16 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
skole2. В конфигурационном файле на сервере. С RIA сервисом в принципе разобрался. Сначала казался легче чем оказалось, но оказалось что не так трудно как тогда когда показался не таким уж и лёгким :)). По делу: почитал что есть такая политика как сохранение инф-ии в этом файле - но как клиенту получить инф-ию из него? В клиентской части SL, на сколько я понял из полученного опыта, невозможно добавить сборку Configuration, в которой все инструкции с работой с этим файлом. Не могли бы подробнее описать как мне следуют использовать конфигурационный файл и обращаться к нему через клиент? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2012, 01:48 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Зачем клиенту получать информацию из конфигурационного файла? Сходи сюда и скачай пример такого сервиса http://code.msdn.microsoft.com/silverlight/Getting-Started-WCF-RIA-1469cbe2 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2012, 10:03 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
skole, а я вот по нему и учился, только в видео формате. Осталось научиться аутентифицировать пользователя и понять и реализовать ролевой доступ. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2012, 17:50 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Ролевой доступ это простая задача, сделай таблицу с ролями в бд, напиши классы с публичными методами для проверки роли пользователя. Затем напиши модуль аутентификации, после аутентификации пользователи будут передавать в http header хэшкод, называется «билет» чтобы сохранять сессию. Все просто и понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2012, 19:06 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
skoleЗатем напиши модуль аутентификации, после аутентификации пользователи будут передавать в http header хэшкод, называется «билет» чтобы сохранять сессию. Все просто и понятно. Не особо просто и понятно... почти везде где есть модуль аутентификации - либо пример на кастомный модуль с нуля (а это слишком сложно для меня), либо готовые примеры на базе ASP.Configuration, а это совершенно не то - т.к. это хранение всех пользователей в конфиге серверной части. У меня же - в бд. Столкнулся с проблемкой.. Сделал соединение с бд, доменный сервис. Пробую сделать аутентификацию. Объявляю класс LoginUser (на клиентской стороне) для проверки введенного логина и пароля. Для удобства отображения данных, делаю в датаформ'е с атрибутами. Класс имеет такой вид: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Всё хорошо. Теперь, вызываю модальное окно LoginWindow в котором имеется разметка XAML отображающая соответствующие поля. Кусок кода этого окна: ( LoginForm - датаформа с 2-мя автосгенерированными полями на основе класса LoginUser) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Вызов этого окна происходит так: Код: c# 1. 2. 3.
Теперь метод вызываемый по закрытию модального окна: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Собственно на этом я и встал... как делать аутентификацию не понимаю... Помогите, пожалуйста, skole . Посмотрел как происходит встроенная аутентификация - ничего не понял, разумеется... Читал уже многие источники - в 8 из 10 случаев рассказывают о ASP конфигурации. Остальные 2 это сильверлайт 3, который, разумеется, уже не актуален, и многие пространства имён и методы либо не нужны, либо куда-то спрятаны и вообще называются теперь по-другому. То есть очередной ненужный труд этих поисков. Хелп... P.S. При вводе данных датаформ автоматически создаёт свою кнопку "ОК", как её можно убрать??? P.P.S. Брейкеры на серверной стороне не работают?? О_о ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 03:36 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Я, кстати, вижу процесс аутентификации тк: при запуске приложение соединяется с бд только с одной таблицей - имена пользователей, их ИД, права и пароли. Далее, пользователь вводит свои логин и пароль -> сервис аутентификации должен сделать поиск по пользователям из бд (а точнее из загруженного списка пользователей), найти этого пользователя, проверить соответствие пароля (пока что пароль будет чистым, чуть позже сделаю хэширование), и выдать программе: либо данные введены неверно, либо показывать пользователю контент, который соответствует его роли/правам. Допустим есть таблица ISN Login Password Rules1 Admin admin adm2 Lex lex member3 John johny moderator И вот, надо как-то сделать вышеуказанный алгоритм. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 04:55 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Нет тут никакого алгоритма, все примитивно просто. Сначала разложи задачу на подзадачи, проверяй аутентификацию булевым методом, затем узнавай роль данного пользователя. В зависимости от роли раздавай контент. Все. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 05:04 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Мыслишь верно, теперь всю эту логику изложи в коде. Понимаю, что с непривычки это сделать непросто, но надо стараться, скилы затачиваются на задачах. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 05:06 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Урааааа! С помощью ряда кривых и частично нерабочих примерах я всё-таки кое-как сделал аутентификацию по базе данных на основе встроенной!!! Теперь буду пытаться реализовать это не в бизнес-приложении с нуля (там очень много мусора, который мне не нужен). И делов то было на самом деле на раз-два. Первые попытки реализовать это в обычном приложении закончились ошибкой о том, что не инициализирован WebContextBase.Authentication =( Либо просто почищу это бизнес приложение... только чистить придется очень много и очень аккуратно. Вопрос с ходу: не потеряю ли я в безопасности если буду реализовывать это НЕ в бизнес приложении? Может быть, есть какие-то скрытые алгоритмы безопасности? Это реально сложно - научиться этим технологиям с нуля, не имея толкового представления о механизмах этих сервисов... Но - вторые сутки насилия мозга приносят свои плоды! И, хоть их пока мало, это только начало :). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 06:01 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
А встроенный сервис регистрации удалить то не так и легко :(... Ибо он мне не нужен совершенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 07:30 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Вот блин, это бизнес-приложение имеет столько ненужного, а так же недоступного, что хочется сделать свой мембершип и свою аутентификацию - но, боюсь, это уже будет не по зубам мне... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 07:48 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Я официально заявляю что я осёл... Всё-таки нашел как сделать модуль аутентификации, хотя и над ним пришлось несколько часов пыхтеть чтобы понять нюансы. Это оказалось достаточно просто с точки зрения кодинга, после разбора приложения найденного где-то у западных друзей - с говорящим названием "Custom Authentication Sample.zip". Всё гениально и просто оказалось. Базовый функционал теперь я понимаю (вот только зачем ТАК СЛОЖНО сделано в бизнес-приложении?) Вот только что я лично не понял, так это - зачем надо подгонять своего юзера из бд к IUser, который, как я понял, обязан иметь в себе name и password... Я-то хотел бы не держать пароль в свойстве юзера постоянно... Однако, изменив хоть что-нибудь на чууууть-чуть - всё рушится нафиг... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 11:02 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Коллега, себя ослом называть не след – мы есть то, что мы едим. Вот ты и подошел к желаемому результату, теперь хочу обратить твое внимание на то, как грамотно пишутся API. Часто у MS реализация методов скрыта, делается это потому что среднестатистический западный прогер имеет сравнительно слабую подготовку. Поэтому для прогеров такого уровня существуют «решения из коробки». RIA сервис как раз и является таким коробочным решением, включил и поехал. Когда же существует иной сценарий имплементации веб-сервиса, необходимо переопределить стандартные методы. Для этого следует углубиться в стандартную реализацию, например все методы сервиса легко переопределяются в конфигурационном файле, это если нам требуется поменять транспорт или ограничения по умолчанию. Следовательно стандартные authentication & membership провайдеры тоже имеют такие возможности. Если мне память не изменяет в RIA стандартный мембершип можно поменять подобно тому, как это делается в стандартном ASP.NET исполнении, что конечно прибавит хлопот, но MSDN тебе в помощь. Кроме того, ты можешь реализовать свой собственный сервис аутентификации и подключить его в конфиге как и любую другую часть http конвейера. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 13:10 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
WPF, ну, так то оно так... спасибо за сведения. Однако, ещё не всё сделано :). Возникли ещё вопросы по последнему достигнутому успеху: 1. На основе кастомного сервиса аутентификации (а выглядит он просто как обычный доменный сервис, наследуемый от LinqToEntitiesDomainService<MMDatabaseEntities>, IAuthentication<User>. При этом, класс User - он же во-первых, является элементом EntityModel, и, одновременно, объявляется ниже в коде, как public partial class User : IUser . Из-за этого требуется чтобы он имел обязательно поле Name (обязательно ключевое) и поле Password по меньшей мере. Я даже переименовать их не могу. Как бы мне это дело изменить или переопределить? Или же не стоит даже заморачиваться? И тупо обнулить значение Password в классе User после прохождения аутентификации. 2. Вот ещё интересный момент: как мне реализовать повторный вход пользователя, который уже прошел аутентификацию без повторного ввода пароля? Даже если я применю такой вариант аутентификации: Код: c# 1.
Третий атрибут со значением true предполагает реализацию именно этой идеи. Однако, при обновлении страницы, аутентификация слетает. Идём дальше, в бизнес-приложении в App.xaml.cs есть очень приятный примерчик: Код: c# 1. 2. 3. 4. 5. 6. 7.
ОДНАКО! При попытке получить пользователя таким образом, идёт запрос в сервис аутентификации (в моём случае далее в бд) на поиск пользователя вида "МойПК\что-то там". То есть, имя компьютера. Всё это наталкивает на мысль, что в базовом варианте предусмотрена только встроенная проверка подлинности Windows. А надо по-другому, т.к. имя компьютера моей программе абсолютно не интересно. Подскажите, как можно реализовать необходимый мне процесс? 3. Каким образом лучше всего оперировать контентом в соответствии с правами пользователей (из бд)? navigation:Frame + UriMapper (как сделано в бизнес-приложении) - или же есть более удобные способы? Он мне не нравится потому что приходится в коде конкретно указывать страницу перехода: Код: xml 1.
4. Обязательно ли использовать membership провайдер? 5. Ролевой доступ... Достаточно ли было бы сделать его "самопаленным", имея в бд ячейку со словом "admin" или "member" и, в коде C# или XAML, проверяя на соответствие выдавать соответствующий самопаленному уровню доступа контент пользователю. Надеюсь понятно написал. Пока что всё :). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 15:04 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Коллега, вижу тут полную кашу. Во-первых ознакомься со стандартными провайдерами membership (это и есть ролевой доступ) & authentication (логин) для ASP.NET. Эти провайдеры в точности копируют реализацию в SL. Режим аутентификации измени в Forms, чтобы твои пользователи логинились на входе.. Затем определись, что тебя не устраивает в стандартном провайдере этих сервисов. В большинстве случаев их достаточно, смотри внимательно материалы на http://www.asp.net/web-forms/videos/authentication ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 15:49 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
WPF , окей, спасибо. Позже дам о себе знать, как ознакомлюсь с хотя бы частью материалов... И спасибо за ссылку на видеоматериал - так нагляднее, даже на английском. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 17:14 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Меня бесит что в 95% примерах, а на мсдне это все 100% используется встроенная система мембершипа, в которой есть ряд свойств - имя, пароль, почта, длина чл...на, стафф. При этом изменить этот набор нереально - нужно создавать свой мембершип с нуля если делать всё "по инструкции" через ASP Конфигуратор, в котором, вроде как, удобно создавать пользователей и роли. Вот мне и нужен СВОЙ набор свойств, а не этот мусор.. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 18:09 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Твой набор свойств сильно отличается от стандартного? Очень сомневаюсь. Ну, а если даже и так, написать собственный провайдер несложно, это же всего парочка классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2012, 20:21 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Хм.. Ну, я не сообразил как написать свои провайдеры мембершипа и ролей, однако я каким-то образом смог нужным образом подчинить встроенные. И мне этого более чем достаточно на данный момент. В итоге я решил не придумывать велосипед (к счастью, это реально не потребовалось, в отличии от сервиса аутентификации - но, благодаря ЗОЛОТОМУ примеру кастомного сервиса, я получил практически ВСЁ что я хотел - просто не сразу это понял). Однако, используя мою нынешнюю модель, я столкнулся со следующей проблемой. Не получается добавить поля/свойства класса User таким образом, чтобы я мог использовать их и видеть из клиентской части. Пока что из клиента я могу видеть только те поля, которые есть в таблице БД. Класс выглядит так (может, WPF, ты мог бы помочь мне, пожалуйста?): Код: 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. 41. 42. 43. 44. 45. 46. 47. 48. 49.
Даже не спрашивай, почему он выглядит ИМЕННО ТАК - это шаблончик, который я под себя подстроил. Собственно всё. Этот класс реализует класс авторизации, валидации, доступа к данным а так же класс User, к которому я получаю доступ в клиенте через WebContext.Current.User. Однако свойство MyTextInfo в клиентской части недоступно. Помогите, пожалуйста, разобраться с этим. Потом мне останется научиться пользоваться профилями, и, пожалуй, самый минимальный набор ф-ий я получил и буду уже меньше здесь доставать всех глупыми вопросами. Надеюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2012, 00:49 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Нет необходимых атрибутов сериализации Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Overview of Serialization in Silverlight ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2012, 07:09 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Я, пожалуй, приложу картинку для ясности. В начале топик стартер явно мыслит "двухзвенкой", где приложение имеет прямое подключение к базе. Это не шибко хорошая практика, когда приложению вдруг приходится выйти из интрасети в Интернет. PS В картинке изначально Security Token Service был и еще довес вокруг и внутри. Из нее еще MVVM и модульность убрать. И MS SQL с EF заменить на "Хранилище" и "Доступ к данным" соответственно - будет совсем обобщенно. PS2 Если у кого-то будут замечания, рад буду выслушать) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2012, 11:48 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
@k@DElpherЕсли у кого-то будут замечания, рад буду выслушать) Ну я бы добавил ещё один уровень-DAL. Который бы позволял иметь доступ к разным базам данных. Т.е ваша Бизнес-логика через него разговаривает с данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2012, 19:09 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
pshik, EF не хватит для этого? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2012, 21:25 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Извиняюсь что пропал - дела были. SeVa , спасибо большое - с атрибутами всё заработало! @k@DElpherВ начале топик стартер явно мыслит "двухзвенкой", где приложение имеет прямое подключение к базе. Это не шибко хорошая практика, когда приложению вдруг приходится выйти из интрасети в Интернет. Хорошо, @k@DElpher , скорее всего, я делаю не особо рационально. Тогда, подскажите, пожалуйста как сделали бы вы? Желательно с подробностями :). Или в картинке отражены уже Ваши предпочтения? pshikНу я бы добавил ещё один уровень-DAL. Который бы позволял иметь доступ к разным базам данных. Так ведь можно парочку Entity Framework сделать для связей с разными базами данных. Объясните, пожалуйста, лично мне, Вашу мысль. Кстати спасибо большое за продолжение помощи :) В данный момент я реализовал почти всё что хотел - осталось только оттачивать то что есть и, может быть, заменять чем-нибудь. Но, я теперь, хоть что-то имею. Кстати, а возможно ли было бы обращение пользователя (в частности того, который по логике имеет админские права) в настройки веб приложения для изменения, скажем, времени таймаута на авторизацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2012, 23:22 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
И ещё возник вопрос, который не удалось решить... вроде всё настолько тупо и просто... а не работает... Делаю ТУПО по примеру: http://blogs.msdn.com/b/brada/archive/2010/03/26/silverlight-4-ria-services-ready-for-business-authentication-and-personalization.aspx (поиском находим строчку "First we need to add BackgroundColor to our backing store. I this case I am using ASP.NET profile storage, so I add the right stuff to web.config" - с неё и начинается моя работа). 1. Прописываю профиль с один параметр в конфигурации серверной части. Прописываю значение по-умолчанию. Код: xml 1. 2. 3. 4. 5.
2. Прописываю в классе User одноимённое свойство (пробовал и с и без атрибута [DataMember]) 3. Биндю на фон грида, а так же брейкер ставлю на момент сразу_после_аутентификации. И значение равно null. Даже не смотря на то, что я указывал значение по-умолчанию. Это нормально? Или опять я торможу? Ну куда уж проще. А не работает... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 00:06 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Lelouch EF не хватит для этого? Предположим вы меняете с SQL на ORacle. Ваши шаги? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 01:43 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Mans7Так ведь можно парочку Entity Framework сделать для связей с разными базами данных. Объясните, пожалуйста, лично мне, Вашу мысль. Ну тогда вы всё засунете в бизнес логику...практически два раза напишите код. А так логика не изменна, меняете лишь код доступа к базе и всё. Если надо ещё к 3-й базе, то дописываете DAL, указываете новую DLL и всё. Писать не сложно...сложно поддерживать и изменять существующий код. А если новая команда? Разобраться в DAL проще, чем лопатить весь ваш код в бизнес логике Я подразумеваю, что каждый уровень-это отдельная DLL. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 01:49 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
pshik , мысль, несомненно, заслуживает внимания, и я обязательно позже изучу этот вопрос - как минимум что бы знать. Ну и попробую реализовать как минимум что бы уметь. А, раз вы указываете на такие плюсы, то, может быть и перейду на эту систему. Но на текущий момент время горит - мне необходимо создать проект с хоть какой-то логикой. Главное что бы работало. А чуть позже можно и на SSL перепрыгнуть, на DAL. Спасибо большое за информацию! Подскажите мне, пожалуйста, по поводу профилей что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 02:49 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
Mans7Хорошо, @k@DElpher, скорее всего, я делаю не особо рационально. Тогда, подскажите, пожалуйста как сделали бы вы? Желательно с подробностями :). Или в картинке отражены уже Ваши предпочтения? Mans7pshik, мысль, несомненно, заслуживает внимания, и я обязательно позже изучу этот вопрос - как минимум что бы знать. Да вы шибко не обращайте внимание. Сейчас это может перевести топик на философскую тему. Я немного зря со своей картинкой полез, просто она вроде как в тему, но может вызвать бурление двузвенщиков). Странно, что тут еще не 100 сообщений. --- Просто этому лично нас не учили в ВУЗе. База данных и клиент - ничего больше не существует. Поэтому я предполагаю, что почти везде так (хотя даже у нас были кафедры с исключениями). Эта картинка поясняет даже не как надо, а как оно устроено в Silverlight по умолчанию. Когда вы создаете проект сразу появляется уровень клиента, уровень сервисов, а базу уже делают в сервисах. Хотя есть возможность напрямую к базе обратиться:) --- Прежде чем реализовывать все эти слои, советую: Microsoft Application Architecture Guide, 2nd Edition То же, но На русском Она в PDF бесплатно Microsoft предоставляется. PS Там еще окажется, что "уровни" и "слои" - разные понятия:) Поэтому Data Access Layer на моей схеме нужен только, как комментарий:) Хотя согласен, она смешанная. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 05:21 |
|
Silverlight соединение с БД с аутентификацией
|
|||
---|---|---|---|
#18+
@k@DElpherХотя есть возможность напрямую к базе обратиться:) Как же я был удивлён когда увидел этот Entity Framework - теперь sqlconnection никому не нужен будет :D А картинка лично мне очень будет полезна! И, спасибо большое за ссылки на материал - очень и очень познавательно для человека, который только начал работать с бизнес-приложениями. Так где я в профилях косячу? :D ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 14:21 |
|
|
start [/forum/topic.php?all=1&fid=21&tid=1441646]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 144ms |
0 / 0 |