相关疑难解决方法(0)

我如何拥有所有登录的用户列表(通过spring security)我的Web应用程序

我在我的Web应用程序中使用spring security,现在我想要列出所有登录我程序的用户.

我怎样才能访问该列表?它们不是已经存在于spring框架内的某个地方吗?像SecurityContextHolderSecurityContextRepository

spring login web-applications spring-security

66
推荐指数
5
解决办法
4万
查看次数

spring安全会话注册表为空

我有一个使用spring安全性的spring mvc webapp,每次用户登录时我想做的一件事就是记录系统上的并发用户数.

为此,我给会话注册表添加了一个别名,然后我自动进入一个类并说...

List<Object> principals = sessionRegistry.getAllPrincipals();
MDC.put(MDCKeyConstants.CONCURRENT_USER_COUNT, principals.size());
Run Code Online (Sandbox Code Playgroud)

但是principals.size正在变为0.即主体列表为空.我错过了我需要配置的其他东西吗?

很抱歉这篇文章很长,但是我把Spring安全配置放在这里试着帮助解决这个问题..提前感谢...

<http use-expressions="true" auto-config="false" entry-point-ref="loginUrlAuthenticationEntryPoint">    
    <!-- custom filters -->
    <custom-filter position="FORM_LOGIN_FILTER" ref="twoFactorAuthenticationFilter" />      
    <custom-filter after="SECURITY_CONTEXT_FILTER" ref="securityLoggingFilter"/>

    <!-- session management -->     
    <session-management 
        invalid-session-url="/sessionExpired.htm" 
        session-authentication-error-url="/alreadyLoggedIn.htm">

        <concurrency-control 
            max-sessions="1" 
            expired-url="/sessionExpiredDuplicateLogin.htm" 
            error-if-maximum-exceeded="false" 
            session-registry-alias="sessionRegistry"/>

    </session-management>   

    <!-- error handlers -->
    <access-denied-handler error-page="/accessDenied.htm"/>             

    <!-- logout --> 
    <logout logout-success-url="/logout.htm" invalidate-session="false" delete-cookies="JSESSIONID"/>   

    <!-- authorize pages -->    
    <intercept-url pattern="/home.htm" access="isAuthenticated()" />
    <intercept-url pattern="/shortsAndOvers.htm" access="isAuthenticated()" />
    <intercept-url pattern="/shortsAndOversDaily.htm" access="isAuthenticated()" />
    <intercept-url pattern="/birtpage.htm" access="isAuthenticated()" />
    <intercept-url pattern="/reports/show.htm" access="isAuthenticated()" />    

</http> 

<!-- =============================== …
Run Code Online (Sandbox Code Playgroud)

spring-security

5
推荐指数
1
解决办法
3006
查看次数

如何获取 Spring 中所有会话的列表?

我正在使用 Spring Boot 2 和 Gradle 开发一个 Web 应用程序。目前,我实现了自定义记得我机构(WITHOUT春季安全),我也加入了一系列的cookie,如所描述这里

现在我想在令牌不匹配的情况下使所有用户的会话无效。我将获得用户的所有会话(我保存在“userSession”属性中的 Bean)。我能怎么做?

PS:我没有使用 Spring Security。

java session spring spring-boot

3
推荐指数
1
解决办法
8565
查看次数