Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全性并发会话:未能生成;“最大会话数”;字段可配置_Java_Spring_Spring Security - Fatal编程技术网

Java Spring安全性并发会话:未能生成;“最大会话数”;字段可配置

Java Spring安全性并发会话:未能生成;“最大会话数”;字段可配置,java,spring,spring-security,Java,Spring,Spring Security,我需要在我的web应用程序中允许并发会话控制,并设置可配置字段“最大会话”。我的配置如下所示: <security:session-management> <security:concurrency-control max-sessions="${maxConcurrentSessionsCount}" session-registry-ref="sessionRegistry" expired-url="/handleInvalidatedSession.gs4tr"

我需要在我的web应用程序中允许并发会话控制,并设置可配置字段“最大会话”。我的配置如下所示:

<security:session-management>
    <security:concurrency-control max-sessions="${maxConcurrentSessionsCount}" session-registry-ref="sessionRegistry" expired-url="/handleInvalidatedSession.gs4tr"/>
</security:session-management>`
我成功地配置了许多其他东西,如“记住我”中的“令牌有效性秒”和“记住我cookie”等。 你知道怎么解决问题吗?在互联网上搜索几天寻求帮助,但失败了

编辑: 在“services.properties”中配置: “MaxConcurrentSessionCount=2”

在启动应用程序时,它会引发下一个错误:

No, it doesn't. It throws next ERROR on starting app:
017-09-14 15:46:47724错误[org.gs4tr.projectdirector.service.context.ContextLoaderListener][localhost-startStop-1][user:] org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:类路径资源[org/gs4tr/foundation/modules/webmvc/spring/applicationContext security default.xml]的xml文档中的第75行无效;嵌套异常为org.xml.sax.saxpasseeption;行号:75;栏目号:72;cvc数据类型有效。1.2.1:“${MaxConcurrentSessionCount}”不是“integer”的有效值。 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399) 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) 位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) 位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) 位于org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) 位于org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) 位于org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 位于org.springframework.context.support.AbstractApplicationContext.AcquitainFreshBeanFactory(AbstractApplicationContext.java:537) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) 位于org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 位于org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 位于org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 位于org.gs4tr.projectdirector.service.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:73) 位于org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4811) 位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5251)
在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)

这是max session属性的定义:

<xs:attribute name="max-sessions" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>
The maximum number of sessions a single authenticated user can have open at the same time. Defaults to "1".
</xs:documentation>
</xs:annotation>
</xs:attribute>

单个经过身份验证的用户可以同时打开的最大会话数。默认为“1”。
如您所见,属性的类型是
positiveInteger
,不允许使用SpEL

SpEL(例如获取属性值)是一个字符串,在某些情况下,您可以:

可以使用如下所示的表达式设置属性或构造函数arg值


这是最大会话属性的定义:

<xs:attribute name="max-sessions" type="xs:positiveInteger">
<xs:annotation>
<xs:documentation>
The maximum number of sessions a single authenticated user can have open at the same time. Defaults to "1".
</xs:documentation>
</xs:annotation>
</xs:attribute>

单个经过身份验证的用户可以同时打开的最大会话数。默认为“1”。
如您所见,属性的类型是
positiveInteger
,不允许使用SpEL

SpEL(例如获取属性值)是一个字符串,在某些情况下,您可以:

可以使用如下所示的表达式设置属性或构造函数arg值


所以你得到了警告,但它有效吗?您是否在某处定义了
maxConcurrentSesionsCount
参数?IntelliJ IDEA意识到了吗?@Kayaman看到编辑有问题。所以你得到了一个警告,但它有效吗?您是否在某处定义了
maxConcurrentSesionsCount
参数?IntelliJ IDEA意识到了吗?@Kayaman请参阅相关编辑。