Spring security 获取在线用户+;acegi安全

Spring security 获取在线用户+;acegi安全,spring-security,Spring Security,如何让用户连接到我的站点 我在下面使用spring+acegi我说的是spring安全性(因为acegi安全性现在是spring安全性,我假设您使用spring安全性)。此外,我还使用最新版本的spring security测试了此配置 搜索: 有关: 在web.xml上 <listener> <listener-class> org.springframework.security.web.session.HttpSession

如何让用户连接到我的站点
我在下面使用spring+acegi

我说的是spring安全性(因为acegi安全性现在是spring安全性,我假设您使用spring安全性)。此外,我还使用最新版本的spring security测试了此配置


搜索:

有关:

在web.xml上

<listener>
        <listener-class>
            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
</listener>

org.springframework.security.web.session.HttpSessionEventPublisher
关于spring安全xml文件示例app security.xml

<listener>
        <listener-class>
            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
</listener>
关注安全性:会话管理和最后两个bean

<security:http auto-config="true">
        <security:intercept-url pattern="/user*" access="ROLE_ADMIN, ROLE_USER" />
        <security:intercept-url pattern="/user/register.html" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <security:intercept-url pattern="/user/activate.html*" access="IS_AUTHENTICATED_ANONYMOUSLY" />     
        <security:form-login login-page="/user/login.html" default-target-url="/index.html" authentication-failure-url="/user/login.html" />
        <security:session-management session-authentication-strategy-ref="sas" invalid-session-url="/index.html" />
        <security:remember-me data-source-ref="dataSource" />
        <security:logout logout-success-url="/user/logout.html" invalidate-session="false" />
</security:http>

<bean id="sessionRegistry" class="org.springframework.security.core.session.SessionRegistryImpl"/>

<bean id="sas" class="org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy">
        <constructor-arg name="sessionRegistry" ref="sessionRegistry" />
        <property name="maximumSessions" value="1" />
</bean>

然后在代码/控制器中

@Autowired
private SessionRegistryImpl sessionRegistry;
...
List<Object> allPrincipals = sessionRegistry.getAllPrincipals();
...
@Autowired
私有会话注册表MPL会话注册表;
...
List allPrincipals=sessionRegistry.getAllPrincipals();
...

allPrincipals包含所有在线用户

下面我要说的是spring安全性(因为acegi安全性现在是spring安全性,我假设您使用spring安全性)。此外,我还使用最新版本的spring security测试了此配置


搜索:

有关:

在web.xml上

<listener>
        <listener-class>
            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
</listener>

org.springframework.security.web.session.HttpSessionEventPublisher
关于spring安全xml文件示例app security.xml

<listener>
        <listener-class>
            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
</listener>
关注安全性:会话管理和最后两个bean

<security:http auto-config="true">
        <security:intercept-url pattern="/user*" access="ROLE_ADMIN, ROLE_USER" />
        <security:intercept-url pattern="/user/register.html" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <security:intercept-url pattern="/user/activate.html*" access="IS_AUTHENTICATED_ANONYMOUSLY" />     
        <security:form-login login-page="/user/login.html" default-target-url="/index.html" authentication-failure-url="/user/login.html" />
        <security:session-management session-authentication-strategy-ref="sas" invalid-session-url="/index.html" />
        <security:remember-me data-source-ref="dataSource" />
        <security:logout logout-success-url="/user/logout.html" invalidate-session="false" />
</security:http>

<bean id="sessionRegistry" class="org.springframework.security.core.session.SessionRegistryImpl"/>

<bean id="sas" class="org.springframework.security.web.authentication.session.ConcurrentSessionControlStrategy">
        <constructor-arg name="sessionRegistry" ref="sessionRegistry" />
        <property name="maximumSessions" value="1" />
</bean>

然后在代码/控制器中

@Autowired
private SessionRegistryImpl sessionRegistry;
...
List<Object> allPrincipals = sessionRegistry.getAllPrincipals();
...
@Autowired
私有会话注册表MPL会话注册表;
...
List allPrincipals=sessionRegistry.getAllPrincipals();
...
allPrincipals包含所有在线用户