Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.11.2004, 22:47
v350 вне форума Посмотреть профиль Отправить личное сообщение для v350 Найти все сообщения от v350
  № 1  
v350

Регистрация: Jul 2004
Сообщений: 29
По умолчанию Авторизация при помощи Remote Shared Object и FlashCommServer

Всем привет! Товарищи, кто сведует, оцените пожалуйста алгоритм. Задача: регистрация/авторизация юзера с использованием Flash Communication Server.
Продукт этот пока мне в новинку, посему вижу здесь только 2 возможных решения, основанных в обоих случаях на использовании Remote Shared Object.
Смысл: создается серверный шаред обжект, являющийся базой данных, храняшей пары - логин/пароль.
Грамотен такой подход?

Отсюда вытекает 2 способа записи/чтения данных в RSO:

1. Запись/чтение пары логин/пассворд берет на себя сервер.
Т.е. мы передаем, допустим методом NetConnection.connect или вызовом серверной функции, данные введенные юзером в текстовое поле. Сервер, в свою очередь, проверив/записав данные, вызывает функцию клиента, передавая параметр "успешно авторизован" или код ошибки.


2. Функцию проверки пары логин/пароль или записи ее в файл (при регистрации) выполняет клиент.
По такому принципу выполнен приведенный ниже алгоритм, написанный мной.
Код работает, но верен ли такой подход? Прошу совета.

(полная версия - см. в исходнике *.rar)

this.client_nc = new NetConnection();

function RegisterConnectToServer() {
if (!client_nc.isConnected) {
this.client_nc.connect("rtmp:/TestVideoServer/Autorisation");
}

// При регистрации подключаемся к серверу, если соединение еще не установлено.

this.text_so = SharedObject.getRemote("account", this.client_nc.uri, true);
this.text_so.connect(client_nc);
this.text_so.onSync = function(list) {
var ansver = root.registerUser(root.reg_mc.reg_login.text, root.reg_mc.reg_pass.text);
if (ansver) {
Alert.show("User register sucesfully!", "Server Message");
} else {
Alert.show("Error registry! This user already consists.", "Server Message");
}
delete this.onSync;
};
/* Как только получено событие о синхронизации с RSO, в цикле проверяем наличие у data свойства-объекта, с собственным свойством равным значению введенному в поле password.
Если оно найдено - выводим сообщение ошибки "Error registry! This user already consists.", если нет создаем новый объект в свойстве data И записываем в RSO пару логин/пароль.
Удаляем обработчик.
*/

}

registerUser = function (log, pass) {
for (var i in this.text_so.data) {
if (this.text_so.data[i].login == log) {
return false;
}
}
this.uniqId++;
this.text_so.data["u"+this.uniqId] = new Object();
this.text_so.data["u"+this.uniqId].login = log;
this.text_so.data["u"+this.uniqId].pass = pass;
return true;
};



То же при проверке логина (см. плиз исходник - *.rar). При получении события синхронизации с RSO (onSync) проверяем совпадение введенных данных со значением data.
Вложения
Тип файла: zip autoris.zip (96.1 Кб, 179 просмотров)


Последний раз редактировалось v350; 18.11.2004 в 22:49.
Создать новую тему   Часовой пояс GMT +4, время: 17:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.