Постановка задачи:Предложение/Руководство по внедрению LDAP (Active Directory) аутентификации
Я пытаюсь создать пользовательскую систему управления, которая потребует аутентификации и авторизации обоих. Система должна иметь возможности для управления/создания/обновления/удаления пользователей, ролей, разрешений и групп.
My Design Solution
Я планирую осуществить это в доме с нуля и будет обеспечивать аутентификацию и авторизацию следующим образом.
Аутентификация: пользователь предоставит свои учетные данные, и система будет аутентифицироваться, если пользователь действителен или нет.
Авторизация: после аутентификации пользователя на основе групп пользователей и разрешений они могут обращаться к запрошенным страницам на сайте.
Вопрос:
Теперь, мой вопрос заключается в том, что предположим, у меня есть это приложение, построенное успешно и в будущем мое приложение требует LDAP (Active Directory) аутентификации было бы возможно подключить LDAP связанных функций поддержания моего существующего приложения, или мне пришлось бы переписать все или большинство приложений с помощью API LDAP.
Я смотрел на apache shiro и весеннюю безопасность, которые предоставляет функции LDAP, а также предоставляют возможности для управления/создания/обновления/удаления пользователей.
На данный момент я еще не решил, поеду ли я с кем-нибудь из них или напишу сам.
Буду признателен, если я смогу получить подробный ответ о том, как идти о вещах.
Примечание: Я полный новичок в LDAP поэтому, пожалуйста, простите меня, если я использовал некоторые неправильную терминологию по отношению к LDAP.
спасибо, имеет ли весна безопасность возможность разрешить/запретить доступ к определенной странице на основе разрешений и ролей? Могу ли я определить группы в моей таблице и позволить пружине использовать эти группы, чтобы разрешить/запретить доступ к определенной странице? Могу ли я определить пользовательские роли в весенней безопасности? – user641887
О да, все это и многое другое :). По умолчанию Spring Security использует авторизацию на основе ролей. Из вашего вопроса неясно, чего вы хотите достичь, разделив роли, разрешения и группы (думаете ли вы о авторизации на основе ACL?), Но все полностью подключается, поэтому вы сможете использовать любую настраиваемую схему авторизации, которую вы можете захотеть (есть также бесплатная поддержка авторизации на основе ACL). Проверьте справочную документацию, это действительно хорошо! – marthursson
Я имею в виду, что в весенней документации говорится, что авторизация основана на ролях. Я хотел бы переопределить это и создать авторизацию на основе разрешений. У меня было бы 3 таблицы в моей схеме. пользователя, ролей и разрешений, и я бы хотел разрешить пользователям разрешения, а не роли. Это похоже на то, что пользователь имеет определенное разрешение, выполняющее определенное действие или показывающее определенную страницу, и нет. Таким образом, у него есть своя таблица пользователей, разрешений и ролей и использование весенней безопасности. Также у меня будет пользовательский интерфейс для редактирования, обновления и создания новых ролей, пользователей и разрешений. – user641887