PDA

Просмотр полной версии : Авторизация на flash( без использования sql и php)


wellskii
18.09.2007, 20:08
Пишу авторизацию для теста, который выполнен на flash. Алгоритм таков:
человек вводит логин ( без пароля). Логин заносится в LSO "Usernik" . при прохождении определенного теста результат записывается в создаваемый новый LSO или записывается в уже созданный LSO, имя которого берется из "usernik",вида
theLocalSharedObject.data.fire = fire.text, где fire - название теста.
Так же имеется статистика, которая берет название LSO, который надо поключить, из "Usernik". Появилась необходимость проверки на существование определенного логина. То есть на странице регистрации необходимо сделать проверку на совпадение логинов( типа такой логин уже существует) и на странице авторизации ( такого логина не существует). Как это сделать, не пойму.
Пока существует 2 алгоритма:
1)Берем все существующие LSO и сравниваем их имена с введеным логином. Но как это сделать, я не знаю.
2) Каким то образом поверяем на наличие LSO по путям в папках. как реализовать это не понятно.

Буду благодарен любым советам и предложениям. Исходник думаю выкладывать не стоит, алгорит вроде описал. Но если кому потребуется, выложу.

Fernando Costa
18.09.2007, 20:34
а если куков нет у юзера? что тогда? или я ничего не понял

Mnilionic
18.09.2007, 21:22
wellskii, вы считаете, что доступ к вашему LSO имеют все пользователи этой флешки?

Fernando Costa
18.09.2007, 21:25
wellskii, вы считаете, что доступ к вашему LSO имеют все пользователи этой флешки?
ну да, конечно так нельзя, тут без ПХП не обойтись. да там скрипт в 10 строк. ничего сложного

Double
19.09.2007, 07:32
а если у человека тест для учеников в рамках класса (т.е. тестовый комп один, а учеников много и сервера попросту нет)?
автору топика: подробнее описывайте ситуацию, если хотите получить хороший совет.

CorC
19.09.2007, 10:19
1)Берем все существующие LSO и сравниваем их имена с введеным логином. Но как это сделать, я не знаю.
И мы тоже, возможно потому что все они хранятся на разных компах, где проходила регистрация, а опросить их от 1 РС нереально чистым флешем

2) Каким то образом поверяем на наличие LSO по путям в папках. как реализовать это не понятно.

Проверить наличие или отсутствие нельзя, но это можно проверить по отсутствию какой то переменной, которая должна быть, если пользователь уже регился, например логин :)

wellskii
19.09.2007, 15:41
Спасиб всем, кто ответил. Это маленький тест, и авторизация действует в рамках одного компьютера. Следовательно, все LSO находятся в одном месте. Сегодня вроде пришел к такому алгоритму:
при регистрации и авторизации теперь так же создается LSO c Именем, которое береться из "Usernik". В некоторое поле( например LocalSharedObject.data.scetchik) прибавляется 1. После чего простым условием проверяем. Если при регистрации значение поля остается равным 1(а значит мы создали LSO), значит все в поряде. если вдруг больше( следовательно он был создан раньше ), выкидываем табличку "Логин уже существует" c кнопкой возврата к регистрации. Тоже самое для авторизации, только условие наоборот: если вдруг равно 1, выкидываем табличку " Такого логина не существует" и уничтожаем созданный LSO.
С удовольствием выслушаю ваши замечания.

flastar
19.09.2007, 15:55
Если делать авторизацию, так делать нада с php.

etc
19.09.2007, 16:12
Что за названия переменных «scetchik» и «Usernik»? Это вы у Гурского нахватались?

Double
19.09.2007, 16:25
flastar, ну нет на этом компе php. локально всё работает.

wellskii, измышления со счётчиком странные. берите логин и пароль. если при авторизации кэшированый пароль ненулевой, значит логин занят. при авторизации всё ещё проще... а так у вас юзер попробует логин vasya. ему скажут, что уже есть такой. ну он и потренируется за Васин счёт.

wellskii
19.09.2007, 16:39
Double, пароли тут не нужны в принципе.

wellskii
19.09.2007, 18:50
Всем спасибо. реализовал свой алгоритм. все прекрасно работает.