Я подумал о том, чтобы использовать его для проекта Spring пару лет назад, и отказался от него, потому что это была чрезвычайно тяжелая и сложная структура, и гибкость, которую она предоставляет, просто не была необходима ИМХО. Это было (по моей оценке) меньше усилий, чтобы свернуть собственную аутентификацию/авторизацию. Не ошибитесь в этом, поскольку это означает, что это было тривиальное усилие; эффективной защиты никогда не бывает.
С точки зрения риска, я не понимал этого глубоко, потратив некоторое время на документацию, и решил, что сложность представляет собой значительный риск неправильной конфигурации. Это может быть «лучше», чем то, что мы построили, но если мы не понимаем, как правильно его использовать и настроить, то он не будет соответствовать его потенциалу. Специально реализованный (и, возможно, «неполный») модуль безопасности, который я понимаю наизнанку, в меньшей степени касается.
Предупреждение: Spring Security по-прежнему называлась Acegi в то время, и текущая технология, возможно, изменилась вместе с названием.
ACEGI заслужил этот вывод, но с тех пор Spring Security претерпела значительный рефакторинг. Стоит еще раз подумать. – duffymo
мои чувства одинаковы. Я не знаю, насколько глубока кроличья дыра в этот момент. Я знаю, что мне нужно понять что-то подобное на глубоком уровне, чтобы быть эффективным и безопасным с ним. какое решение выбрано, оно также должно быть достаточно простым, чтобы его понимали младшие разработчики в команде. Это не очень безопасно, если никто другой не может понять это и применить его. – clarson
Расширение пространства имен SpringSecurity в версиях 2.x и 3.0 имеет * значительно упрощенную конфигурацию для простых случаев использования. (Они могли бы предоставить больше крючков пространства имен для сложных прецедентов, но это другой чайник рыбы.) –