Spring MVC session 销毁不了

问题:

在用户登录之后,session采用 Spring MVC 注解的方式把用户登录信息放入到会话当中,结果在安全退出时候销毁session(),总是销毁不了。


问题代码:

@Controller
@RequestMapping("/login.do")
@SessionAttributes("loginuser")//seesion保存方式
public class BzLoginAction extends BaseAction {

    private String basepath = "admin/";
    @Autowired
    @Qualifier("bzYonghuXinxiService")
    private BzYonghuXinxiService bzYonghuXinxiService;

    @Autowired
    @Qualifier("propertiesUitl")
    private PropertiesUitl propertiesUitl;

    @Autowired
    private HttpSession session;

    /**用户登录方法**/
    @RequestMapping(params = "method=login")
    public String login(
            @RequestParam(value = "username", required = false) String username,
            @RequestParam(value = "password", required = false) String password,
            @RequestParam(value = "rand", required = false) String rand,
            ModelMap model) {
        try {
          。。。。。。
        } catch (Exception e) {
            model.put("login_error", "登录异常!");
            return "login";
        }
    }


/****退出方法,销毁session*****/

 @RequestMapping(params = "method=logoutApp")
    public String logoutApp() {
        try {
            if (session != null)
                session.removeAttribute("loginuser");
            session.invalidate();
        } catch (Exception e) {

        }
        return "app/web_login";
    }
   }

------------------------------------------------------------------------------------------------------------------------------------------------------

解决方法:

采用 session.setAttribute("loginuser", yonghuxinxi);方式保存会话即可

代码:

@Controller
@RequestMapping("/login.do")
public class BzLoginAction extends BaseAction {

    private String basepath = "admin/";
    @Autowired
    @Qualifier("bzYonghuXinxiService")
    private BzYonghuXinxiService bzYonghuXinxiService;

    @Autowired
    @Qualifier("bzSysAuthorService")
    private BzSysAuthorService bzSysAuthorService;

    @Autowired
    @Qualifier("propertiesUitl")
    private PropertiesUitl propertiesUitl;

    @Autowired
    private HttpSession session;

    @RequestMapping(params = "method=login")
    public String login(
            @RequestParam(value = "username", required = false) String username,
            @RequestParam(value = "password", required = false) String password,
            @RequestParam(value = "rand", required = false) String rand,
            ModelMap model) {
        try {
                   。。。。。。。。。。
                    session.setAttribute("loginuser", yonghuxinxi);
                    session.setAttribute("rootMenu", temp);
                    session.setAttribute("rootOpration", bzSysAuthorService
                            .getOprationList(yonghuxinxi.getYhxxroleentity()
                                    .getRoleId()));
                   。。。。。。。。。。。
            } else {
                model.put("login_error", "验证码错误!");
                return "login";
            }
        } catch (Exception e) {
            model.put("login_error", "登录异常!");
            return "login";
        }
    }

@RequestMapping(params = "method=logoutApp")
    public String logoutApp() {
        try {
            if (session != null)
                session.removeAttribute("loginuser");
            session.invalidate();
        } catch (Exception e) {

        }
        return "app/web_login";
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spjhandsomeman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值