改变用户状态的问题

改变用户状态的问题

http://img1.sycdn.imooc.com//climg/5f23c15c09ff42cb03450151.jpg

老师,我在后台对用户状态进行修改后,前台要重新登录才能生效,有没有什么办法不重新登录就能生效呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿慧 2020-07-31 17:14:32

同学你好,前后台分开,同学可以对后台请求每次都先查询一下数据库中用户信息并更新作用域中用户信息。

祝学习愉快~

好帮手慕阿慧 2020-07-31 16:44:56

同学你好,同学前台和后台分开了吗?同学对于后端请求都先查询一下数据库中用户信息。如果问题没有解决,建议同学贴一下代码。

祝学习愉快~

  • 提问者 慕沐8150141 #1
    老师,前后台是分开的。代码如下 以回帖为例 ------------前台控制器中------------------- @RequestMapping(value = "pre_comment") public String preComment(@RequestParam(value = "pid") Integer pid,HttpSession session, Map<String,Object> map){ //获取当前Post对象 Post post = postService.get(pid); Comment comment = new Comment(); comment.setPost(post); map.put("post", post); map.put("comment",comment); //获取当前登录的用户对象 map.put("user", (User)(session.getAttribute("user"))); //获取发帖人的User对象 User postUser = userService.getByName(post.getUsername()); map.put("postUser", postUser); //获取统计相关的数据 map.put("list", postService.getAll()); List<User> allUsers = userService.getAll(); map.put("allUsers", allUsers); List<Comment> allComments = commentService.getAll(); map.put("allComments", allComments); return "new_comment"; } @RequestMapping(value = "comment") public String comment(HttpSession session,Comment comment, Map<String,Object> map){ User user = (User)session.getAttribute("user"); comment.setUsername(user.getUsername()); comment.setPostId(comment.getPost().getId()); comment.setCreateTime(new Date()); comment.setUserId(user.getId()); commentService.add(comment); return "redirect:pre_comment?pid="+comment.getPostId(); }
    2020-07-31 17:03:29
  • 提问者 慕沐8150141 #2
    ---------------new_comment.jsp中---------------------- <div class="panel panel-default"> <div class="panel-heading"> 发表回复 </div> <div class="panel-body"> <div class="reply-box form"> <!-- 已经登录的情况 --> <c:if test="${user!=null&&user.userStatus!=1&&postUser.userStatus!=2}"> <form:form modelAttribute="comment" action="comment" accept-charset="UTF-8" id="thread_create_form" cssClass="create_form"> <%--<input type="hidden" name="postId" value="<!-- 此处存放帖子id -->">--%> <form:hidden path="post.id" cssClass="hidden"/> <div class="form-group"> <form:textarea path="content" cssClass="post-editor form-control" rows="5" style="overflow:hidden" id="content" placeholder="请使用Markdown撰写内容" name="content" cols="50"></form:textarea> </div> <div class="form-group status-post-submit"> <input class="btn btn-primary col-xs-2" id="thread-create-submit" type="submit" value="回复"> </div> </form:form> </c:if>
    2020-07-31 17:05:13
  • 提问者 慕沐8150141 #3
    <%--账户被锁定时不能回帖--%> <c:if test="${user.userStatus==1}"> <div style="padding:20px;color: red"> 用户已被锁定,请联系管理员! </div> </c:if> <!-- 未登录的情况 --> <c:if test="${user==null}"> <div style="padding:20px;"> 需要 <a class="btn btn-success" href="/post/pre_login">登录</a> 后方可回复, 如果你还没有账号请点击这里 <a class="btn btn-primary" href="/post/pre_reg">注册</a>。 </div> </c:if> <%--发帖账户被删除时其他用户不能回帖--%> <c:if test="${postUser.userStatus==2}"> <div style="padding:20px;color: red"> 主题帖已删除,无法进行回复! </div> </c:if> ---------后台用户控制器中--------- //删除用户 @RequestMapping("user_delete") public String delete(@RequestParam(value = "uid") Integer uid, HttpSession session){ //根据要删除的用户id得到用户 User user = userService.get(uid); //改变用户的状态 user.setUserStatus(2); userService.edit(user); session.setAttribute("user",user); return "redirect:user_list"; }
    2020-07-31 17:05:56
好帮手慕阿慧 2020-07-31 15:37:30

同学你好,同学可以修改完用户状态后,更新作用域中的用户信息。

祝学习愉快~

  • 提问者 慕沐8150141 #1
    老师,我在后台的HttpSession中更新了用户的信息,但前台的HttpSession中用户的信息并未发生改变,后台的修改用户信息的方法和前台的帖子相关方法是两个独立的方法,请问该怎么做呢?
    2020-07-31 15:43:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师