Session实战权限验证
问题引出:不是所有用户都会展示所有数据,假如只有管理员可以查看所有用户信息,而可能有人不从登录页进入,而是直接进入展示用户页面,这个时候就需要权限验证了,验证用户是否登录,使用session来验证,因为它的存储域更加广是在一次会话有效,而转发只能是一次请求有效。
实体类-用户表
- 数据
ublic class User {
private Integer userId;
private String username;
private String password;
public User() {
}
public User(Integer userId, String username, String password) {
this.userId = userId;
this.username = username;
this.password = password;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"userId=" + userId +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
相关数据访问和业务逻辑
数据访问层
UserDao
public interface UserDao {
//通过用户名查询用户
public User selectByName(String username);
//查询全部用户
public List<User> selectAll();
}
UserDaoImpl
public class UserDaoImpl extends APDbutils<User> implements UserDao{
@Override
public User selectByName(String username) {
String sql = "select * from user03 where username =?";
User user = querySingle(sql, User.class, username);
return user;
}
@Override
public List<User> selectAll() {
String sql = "select * from user03";
List<User> users = queryMulti(sql, User.class, null);
return users;
}
}