пружинный предел макс. сессии; ограничьте макс. пользователей

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

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

5
задан cometta 21 January 2010 в 02:55
поделиться

1 ответ

Вы можете использовать одновременный сеанс Seps Security Security, доступа к сеансу, чтобы узнать, сколько пользователей в настоящее время заносятся В. В весенней безопасности 3 CONCULLEDSIONCONTONTROLLATEGY отвечает за управление, разрешено ли пользователю создавать сеанс после входа в систему. Вы можете расширить этот класс и добавить дополнительную проверку на основе количества пользователей:

public class MySessionAuthenticationStrategy extends ConcurrentSessionControlStrategy {
    int MAX_USERS = 1000; // Whatever
    SessionRegistry sr;

    public MySessionAuthenticationStrategy(SessionRegistry sr) {
        super(sr);
        this.sr = sr;
    }

    @Override
    public void onAuthentication(Authentication authentication, HttpServletRequest request, HttpServletResponse response) {
        if (sr.getAllPrincipals().size() > MAX_USERS) {
            throw new SessionAuthenticationException("Maximum number of users exceeded");
        }
        super.onAuthentication(authentication, request, response);
    }
}

вы бы включили Это в пространстве пространства безопасности, как описано в Справочное руководство по пружинной безопасности .

В Spring Security 2.0 контроль одновременных сеансов реализован немного по-разному, и вместо этого вы настраиваете CONCULLENCONDCONTROLLER.

8
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: