Как ограничить ввод данных пользователем, чтобы работать только 8 часов на моем сайте - PullRequest
3 голосов
/ 29 января 2012

Я разработал веб-приложение для одного из моих клиентов, мои требования к клиенту таковы.

Каждый пользователь ввода данных работает в своей рабочей зоне только в течение 6 часов, не более того. В противном случае он выходит из системы, когда пытается войти в свою рабочую зону. Я использую Asp.net C # с SQL Server 2005

Любая помощь будет высоко оценена. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 29 января 2012

Вам необходимо уточнить требование:

1 - если пользователь должен создать учетную запись в Интернете, чтобы иметь возможность работать, и

1-1 - он или она работает изопределенное время до определенного времени окончания, и он или она должны иметь возможность вернуться на следующий день и работать еще 6 часов, тогда вы можете иметь два столбца в вашей базе данных для start_time и finish_time и отклонить любой запрос к базе данных оттот пользователь, который выходит за пределы этого диапазона.

1-2 - он или она работает каждый день, но в гибкое время, затем, когда пользователь входит в систему каждый день, поместите метку времени в столбец в db, называемый startи проверяйте каждый запрос к базе данных этого пользователя, чтобы узнать, прошел ли он через 6 часов после запуска.Если это так, отклоните запрос до следующего дня.

1-3 - он или она работает ТОЛЬКО ОДИН РАЗ в течение 6 часов и не возвращается на работу на следующий день, затем просто создайте столбец account_created и отключите учетную запись после 6часы с использованием флага в базе данных.Проверяйте каждый запрос к базе данных, чтобы узнать, отключен пользователь или нет.

2- Если пользователю не нужно создавать учетную запись и он может работать только в течение 6 часов и

2-1- работает в определенные часы, затем отклоняет любой запрос со своей рабочей станции в нерабочее время.Если вам повезло, и каждая рабочая станция имеет определенный IP-адрес, тогда Request.UserHostAddress дает вам представление о том, какая рабочая станция взаимодействует с вашим кодом.

2-2 работает в гибкий график, используйте тот же метод:2-1, но в вашей базе данных есть начальный столбец и проверьте, взаимодействует ли пользователь (конкретный IP-адрес) с вашим кодом в течение 6 часов с момента запуска.

Если вы должны использовать вход / выход из системы какВы сказали, что делаете выше, и вместо того, чтобы прямо отклонить пользователя, просто выйдите из него, очистив cookie сессии.Если они хотят снова войти в систему, проверьте, не превышают ли они допустимый срок, а если нет, немедленно выйдите из них.

0 голосов
/ 29 января 2012

Это может быть сложно.

Вам нужно будет сохранить время входа в базу данных .Затем, как часть процедуры входа в систему, вы проверяете это время входа в систему.

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

Но что, если пользователь входит в систему, скажем, в 9:00, а затем выходит в 12:00 дляобед и снова заходит в 1:00.Если вы проверите минимальное время для сегодняшней даты в 3:00, вы будете игнорировать перерыв на обед и не позволите пользователю снова войти в систему.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...