账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    spring-session + redis怎样自定义实现方法中是否使用 session?
    36
    0

    问题描述

    项目中同时包含网页与应用程序接口,项目中使用spring-session + redissession 保存到 redis 中,网页中正常使用,应用程序接口每次请求都会生成新的 session,怎样让网页访问时生成 session, 应用程序请求时不生成 session

    相关代码

    1.spring 配置文件

    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"/>
    
    <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="127.0.0.1" />
        <property name="port" value="6379" />
        <property name="password" value="" />
        <property name="timeout" value="3600" />
        <property name="poolConfig" ref="jedisPoolConfig" />
        <property name="usePool" value="true" />
        <property name="database" value="0"/> <!-- 默认存放在0号库中 -->
    </bean>
    
    <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
        <property name="connectionFactory" ref="jedisConnectionFactory" />
    </bean>
    
    <!-- 将 session 放入 redis, spring-session 会使用此 bean -->
    <bean id="redisHttpSessionConfiguration"  class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">                                                                    
        <property name="maxInactiveIntervalInSeconds" value="1800" />
    </bean>

    2.web.xml

    <filter>
        <filter-name>springSessionRepositoryFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>springSessionRepositoryFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    你期待的结果是什么?

    网页访问时使用 session,应用程序使用接口请求时不使用 session 且不会产生新的 session

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部