2010-06-17 2 views
0

Я работаю над браузером, в котором будет много пользователей. Уловка состоит в том, что каждый пользователь должен иметь свою собственную страницу входа в систему, но фактическое приложение для всех одинаково и должно находиться в центральном месте.Несколько мест для входа в онлайн-приложение

Страница входа является статической. То есть, если у нас есть пользователь, которому требуется отдельный логин, мы сделаем для них отдельную целевую страницу, скажем, на user1.application.com, которая будет иметь синий фон. Пользователю два будет передан URL-адрес user2.application.com, который будет иметь зеленый фон. Приложению не нужно динамически изменять внешний вид страницы входа, которая будет статичной и управляемой на более высоком уровне.

Что является самым безопасным способом для этого?

Имеет ли смысл иметь копию приложения для каждого пользователя и поддерживать централизованную базу данных?

Прогнозируемое количество пользователей не очень высокое, вероятно, около 20-80.

Спасибо,

+1

Страница входа - как в случае ввода имени пользователя и пароля - настроена? Или страница сразу после этого настроена (их «домашняя страница» или панель инструментов)? –

+0

Как вы узнаете, кто должен показывать им свою страницу входа в систему, если вы еще не знаете, кто из них, потому что они не вошли в систему? –

+0

Страница, на которой пользователь вводит имя и пароль, настроен.Мне не нужно знать, кто у пользователя, у разных пользователей будут целевые страницы в разных местах. – Goro

ответ

1

Я могу дать вам инструкции о том, как это сделать с помощью Microsoft IIS и ASP.NET. Другие серверы и языки программирования по-прежнему применяются, но специфика будет немного отличаться.

Вам необходимо иметь доступ к настройкам DNS. Создайте запись DNS для * .applicaiton.com. Мы делаем это как запись CNAME, которая указывает на нашу запись в домене www, которая зарегистрирована как запись A, связанная с IP-адресом.

Вариант 1: В IIS 6 создайте веб-сайт и измените заголовки хоста (вкладка «Веб-сайт», вкладка «Веб-сайт», «Дополнительно ...» в разделе «Идентификация веб-сайта»). Добавьте пустой заголовок узла. Это заставит веб-сайт IIS отвечать на все запросы для всех доменов, связанных с IP-адресом, который он прослушивает.

Затем создайте страницу по умолчанию и в коде позади, вы будете иметь логику, которая смотрит на Request.UserHostName каждого запроса. Он должен возвращать «user1.application.com» или «user2.application.com» или, возможно, «www.application.com». Затем вам придется проанализировать эту строку и выполнить всю грязную работу для загрузки соответствующей страницы.

Хм, ну, вот как бы вы сделали это динамично, с одним веб-сайтом. Перечитывая свой вопрос, вы говорите о «статических» страницах входа. Для этого у вас есть два варианта. Вы можете создавать статические страницы входа и динамическую страницу читать эти файлы и отправлять их как ответ, или второй вариант будет ...

Вариант 2: В IIS создайте новый веб-сайт для каждого пользователя , Измените заголовки хостов, как описано выше, чтобы каждый веб-сайт имел только один заголовок хоста, который совпадает с именем пользователя. У вас нет веб-сайта с пустым заголовком хоста. Вам нужно будет создать веб-сайт и добавить заголовок узла для каждого нового пользователя вручную.

Ни один вариант не может показаться очень элегантным, но вариант 1 работает довольно хорошо. Мы используем его так же, как и множество «скинов» нашего приложения.

Смежные вопросы