Flanid: она (платформа .NET Framework) набирает обороты начиная с 2002 года. только вот очень долго набирает. но следующая версия обещает быть поистине крутой.
DoubleWish: наконецто я стал понимать всю архитектуру.
тогда задача сводиться к следующему:
1. поднять 13 сайт с локальной БД, структуру я уже писал комментарием ниже, где Юзеры и Серверы.
2. всем людям раздать адрес 13 сайта.
3. логика 13 сайта будет сводиться к перенаправлению на конкретный сайт с конкретной БД.
но вам все равно не уйти от создания своего OAuth или OAuth и внедрения его на каждом сайте. если хотите чтобы автоматом его авторизовывало на конкретном сайте.
DoubleWish: по хорошему если БД разные - делают разные точки доступа (сайты или приложения) и объединяют только систему авторизации. чтобы она была единая, но перенаправление делается на конкретный сайт в зависимости от логина и пароля.
"все они в топе по seo и смысла сейчас сливать базы нет"
получается существует еще и 12 разных сайтов для каждой базы?
DoubleWish: есть такая штука - называется составной первичный ключ. через него можно сделать разделение данных. никаких коллапсов не будет. но это все надо делать еще на этапе создания.
а у вас я так понял уже давно все создано. и пути назад нет. надо выкручиваться.
1. данные территориально разделены. базы данных в разных городах. ОК, тогда разделять на 12 штук имеет смысл.
в таком случае вы делаете выпадающий список с городами - и все счастливы. не надо городить костыли в виде общей БД, которая хранит данные подключения ко всем.
2. данные разделены по правам/ролям - тогда создавать 12 штук не надо. достаточно сделать правильный запрос с учетом ролей и прав. и будет выводиться юзеру1 одни данные, а юзеру2 другие.
DoubleWish:
1. создаете новую БД. в ней создаете таблицу Серверы (serverID, Servername, DbName, IP и т.д.) и таблицу Юзеры (userID, login, password, serverID)
2. в приложении делается коннект к этой общей БД на мастер логину и паролю. который делает запрос к таблице Юзеры, если логин и пароль нашлись - возвращает запись из таблицы Серверы и получает соответстующие данные для подключения.
3. Затем программно делается подключение к БД, но уже с логином и паролем пользователя и подстановкой строки подключения из таблицы Серверы.
DoubleWish: вот честно, дурдом у вас. неправильное понимание проектирования и создания БД.
обслуживать 12 баз данных - тупо из-за того, кто кто-то не потрудился сделать роли и права в одной БД.
добавить новую таблицу или изменить существующую - это накатить изменения на все 12 штук. идиотизм.
DoubleWish: хорошо, допустим вы разделили данные физически на разные сервера.
ОК.
тогда делаете все так:
1. создается одно приложение/сайт.
2. форма логина содержит выпадающий список ваших двенадцати БД. а также логин и пароль.
3. сайт тупо выбирает из конфига ту БД, которую выбрали в выпадающем списке и делает коннект к БД по логину и паролю.
все просто и удобно.
а если сделать логику в приложении, которая тупо перебирает Логин Пароль по всем двенадцати БД - то это дурдом. Человеку нужно запомнить 12 логинов и 12 паролей, чтобы подключаться к вашим разным БД.
ma_za: а ну да, ppi есть такое. но оно используется скорее для удобства дизайнера под его монитор и его разрешающую способность.
в любом случае вектор можно потом экспортировать под нужный размер макета.
DoubleWish: тогда вы выбрали неправильный путь изначально. создали сайты 1 и сайты 2. еще и БД создали под них. а если появиться еще одна роль/категория пользователей - создадите еще одну БД ?
по хорошему это делается так:
1. создается ОДИН сайт/приложение. в нем храниться конфиг файл к ОДНОЙ базе данных.
2. в БД, в ее логике, идет формирование запросов относительно юзера. разделение данных.
Плюсы:
- удобство поддержки. если поменяется структура - то менять нужно будет только в одной базе данных, а не в ее копиях.
- данные записывать точно также, делается привязка к пользователю на уровне БД.
неправильная архитектура - если вы делите физически данные на разные сервера, а не логически на уровне одной БД.
DoubleWish: если у вас сайт1 и сайт2 разные приложения/домены/ip. то тогда каким образом если вы зайдете на сайт1 и введете user2 вас должно перебрасывать на сайт2 ?
у вас на уровне приложения/сайта уже разделение есть - поэтому куда юзер зашел, на сайт1 или сайт2 - туда и будет подключаться.
еще раз объясните, можно ли на сайте1 ввести user2, а на сайте2 - user1 соответственно. такое возможно?
ma_za: вообще можно и векторе создавать, если руки прямые. по сетке, затем делать экспорт для просмотра с нужным dpi под экран.
вообще не должно быть разделения, мол версталшик просит в векторе - создавай в векторе.
верстальщик откроет макет в растре, картинкой, поверх html страницы чтобы сравнивать размеры, отступы и т.д.
а откуда брать цвета, структуру и другие данные - верстальщику должно быть все равно.
но если решитесь создавать в векторе - то создавайте в RGB режиме. чтобы верстальщик не конвертировал ваш CMYK в RGB.