У меня есть схема в MySQL, которая хранит информацию для различных офисных функций. Я хочу убедиться, что сотрудники склада не могут войти в таблицы обслуживания клиентов и наоборот. У каждого пользователя есть логин на Windows Server, и он принадлежит к таким группам пользователей, как «Склад» и «Служба поддержки».
MySQL не использует аутентификацию Windows (потому что вы должны заплатить за это расширение). Вместо этого у него есть такие пользователи, как «склад» и «служба поддержки», которые имеют доступ к своим соответствующим наборам таблиц.
Страницы php интрасети предоставляют доступ к таблицам MySQL через формы и т. Д.
Для достижения цели предоставления сотрудникам хранилища доступа только к своим данным, так же как и к специалистам по обслуживанию клиентов, я рассматриваю следующее:
Таким образом, я могу добавлять пользователей в группы в Windows, и они будут иметь доступ только к тем данным, которые им нужны. По сути, я сопоставляю пользователей MySQL с группами Windows.
Какие еще способы вы использовали для этого?
Я пришел из магазина MS, поэтому я бы взял текущего пользователя с нативной функцией .NET (например, этот) и обратиться к AD, а затем обслуживать партиалы, которые применяются только к этому пользователю.
Так как вы на стороне PHP, я бы использовал эти сделать что-то подобное. Первый комментарий, кажется, также делает проверку личности и членства в группе.
Других решений пока нет …