проверка, вошел ли пользователь уже через cfloginuser

Я использую cfloginuser в качестве механизма безопасности в своем приложении для защиты выполняемых вызовов веб-службы.

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

Могу ли я в любом случае проверить, зарегистрировано ли уже определенное имя пользователя, поэтому даже не позволяя второму входу даже аутентифицироваться? (Вы можете войти только на один компьютер одновременно)


person beardedd    schedule 07.06.2010    source источник
comment
Я думаю, что лучше выгнать / взять на себя более раннюю сессию. Если он ограничен самым ранним сеансом и этот первый сеанс становится недоступным по какой-либо причине, человеку необходимо дождаться истечения времени ожидания, прежде чем он сможет снова войти в систему, что раздражает.   -  person Peter Boughton    schedule 07.06.2010
comment
Хороший вопрос, Питер. На самом деле это приложение Flex, поэтому существует вероятность того, что первоначальный пользователь не узнает, что он вышел из системы, пока не попытается сделать что-то, что сообщит пользователю. Мне просто нужно проверить и соответственно отключить их.   -  person beardedd    schedule 07.06.2010


Ответы (1)


Единственный способ, который я могу придумать, - это сохранить имя пользователя в области приложения, а затем удалить его при выходе из системы. (и добавьте его OnSessionEnd в свой application.cfc на случай, если они не нажмут на ссылку выхода)

Затем, когда пользователь входит в систему, проверьте список вошедших пользователей в области вашего приложения и не позволяйте им делать это во второй раз, если имя есть.

Однако имейте в виду, что сказал Петр. Я думаю, это хороший момент.

person Jason    schedule 07.06.2010
comment
Я собираюсь согласиться с предложениями Питера, но я думаю, что это единственный способ сделать то, что я изначально думал. Жаль, что для этого в холодном синтезе нет ничего встроенного... - person beardedd; 07.06.2010