Контролировать разные уровни доступа - PullRequest
0 голосов
/ 03 августа 2010

Я планирую использовать две таблицы (например, гость и сотрудник), чтобы контролировать, какая страница доступна для какого пользователя.

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

Вот вопрос, который я только что нашел:

Предположим, что UserA является сотрудником и имеет в качестве имени пользователя и пароля имя пользователя login001 и пароль'как пароль.

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

Затем пользователь B может получить доступ к некоторым внутренним веб-сайтам b./ c он / она выбрал то же имя пользователя / пароль, что и один из сотрудников.

Вот мое решение этой проблемы:

Метод первый: всякий раз, когда применяется имя пользователя (не имеет значения«Угадайка или сотрудник»), необходимо проверить как «Угадайка таблицы», так и «Сотрудник», чтобы убедиться в отсутствии дубликатов.

Метод 2: Объединить таблицы «Угадайка» и «Сотрудник» в таблицу «Человек».Однако, для предположения, user_type может быть назначен как GUEST, а для employee, user_type может быть назначен как EMPLOYEE.

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

Я НЕ использую какие-либо фреймворки или ООП для реализации моего сценария PHP.

Спасибо

Ответы [ 2 ]

2 голосов
/ 03 августа 2010

Я бы порекомендовал вам объединить две таблицы учетных данных в 1. Затем вы можете создать таблицы guest и employee со ссылкой на таблицу учетных данных.Таким образом, вы можете хранить дополнительную информацию о них.

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

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

1 голос
/ 03 августа 2010

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

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

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