qianqianjun / Educational-management

北京化工大学软件工程项目,一个教务管理系统,包括教师端, 学生端和管理员系统,通过不同身份的账号可以登入不同的页面,使用spring boot,mysql,vue,由本人带领班级同学开发完成,其中本人负责选课系统开发,欢迎参考学习。PS:由于该项目代码由多人合作编辑完成,同学们水平不一,部分需求不太明确,接口编写有点混乱,项目存在部分烂代码没有维护,不建议直接拿来学习。推荐本人另外一个项目:https://github.com/qianqianjun/spring-boot-blog
112 stars 32 forks source link

关于登录后的session 中的数据有哪些的说明 #10

Closed qianqianjun closed 4 years ago

qianqianjun commented 5 years ago

首先看一下session 中的user类都有哪些属性:由下面的代码可知

package buct.software.domain;
import lombok.Data;
/**
 * @author  高谦
 * 登录的用户表,用于存储教师登录的工号,学生登录的学号
 * 标识用户的类别(学生,老师)
 */
@Data
public class User {
    /**
     * 下面是数据表中的字段
     */
    private Integer account;
    private String password;
    private Integer type;
    private Integer status;

    /**
     * 下面是额外可能用到的字段,用于保存更多的信息在session 中
     */

    private String sname;
    private String major;
    private Integer majorid;
    private String grade;
    private String tname;
    public User(Integer account, String password, Integer type, Integer status) {
        this.account = account;
        this.password = password;
        this.type = type;
        this.status = status;
    }
    public User(){}
}

注意,如果是老师登录,user 中的tname 才会有值,如果是学生登录,则只有sname 有值,所以大概懂了吧,实际上这个user 中的属性其实是各个登录的不同用户的那些可能会在登录后使用的数据,例如老师和学生登录都会在首页显示 欢迎您 谁谁谁,那这个名字就是 老师的名字(tname)或者学生的名字(sname)

大家在使用的时候,直接在controller 中函数的参数中加一个 HttpServletRequest 对象,然后使用 request.getSession() 方法获取session ,最后通过 User user=(User)session.getAttribute("user") 就可以获得user 对象了。

还是有不清楚的或者想在session 中增加其他属性的同学在下面留言 !