默认情况下,Spring Boot中的最大并发会话数

时间:2019-07-08 03:38:59

标签: spring spring-boot spring-security

我正在使用Spring Boot版本1.5.13。 我可以在配置类中使用以下代码段设置并发会话的上限-

http.sessionManagement().maximumSession($max_sesssions) 

但是,我想知道此限制的默认值。

2 个答案:

答案 0 :(得分:0)

  

根据文档,默认值为允许任意数量的   用户。

.sessionManagement().maximumSessions(maximumSessions); 

您可以在{em> windows 上的 eclips 的maximumSessions上通过Ctrl + Click查看以下详细信息。

SessionManagementConfigurer.java

/**
     * Controls the maximum number of sessions for a user. The default is to allow any
     * number of users.
     * @param maximumSessions the maximum number of sessions for a user
     * @return the {@link SessionManagementConfigurer} for further customizations
     */
    public ConcurrencyControlConfigurer maximumSessions(int maximumSessions) {
        this.maximumSessions = maximumSessions;
        return new ConcurrencyControlConfigurer();
    }

答案 1 :(得分:0)

默认值为允许任意数量的用户。我浏览了源代码,发现默认情况下该值设置为-1,以允许任意数量的用户。

下面是ConcurrentSessionControlAuthenticationStrategy类的摘录-

/**
 * Sets the <tt>maxSessions</tt> property. The default value is 1. Use -1 for
 * unlimited sessions.
 *
 * @param maximumSessions the maximimum number of permitted sessions a user can have
 * open simultaneously.
 */
public void setMaximumSessions(int maximumSessions) {
    Assert.isTrue(
            maximumSessions != 0,
            "MaximumLogins must be either -1 to allow unlimited logins, or a positive integer to specify a maximum");
    this.maximumSessions = maximumSessions;
}