Идея унифицированной аутентификации за одним API, таким как PAM, очень привлекательна для меня. Однако PAM, похоже, больше ориентирован на аутентификацию оболочки и предлагает довольно ограниченный набор функций из своего API и требует общесистемной конфигурации из файла.
Я ищу что-то подобное для веб-интерфейса CGI (язык C), который аутентифицирует пользователей с помощью Radius или Postegresql. На данный момент другой код используется для одного или другого. В будущем было бы неплохо расширить набор механизмов аутентификации на LDAP, Windows Active Directory, MySQL и т. Д., Но реализовать их все вручную было бы долго и мучительно.
Таким образом, libpam по-прежнему является победителем, но главная проблема заключается в том, что должна быть записана дополнительная информация, кроме логина, имени, пароля или домашнего каталога. Кроме того, необходимо избегать настройки файлов. Предпочтительно, пользователь должен настроить все из собственного файла конфигурации программы. Наконец, небольшая занимаемая площадь важна, поскольку она предназначена для встроенного приложения, и избегаются языки высокого уровня, такие как perl, python, php.
Как бы вы справились с этим?