网上书城之登录注册、权限管理

1 篇文章 0 订阅
1 篇文章 0 订阅

一、注册

相关代码:
UserDao

  //注册
    public int add(User user) throws Exception {
        String sql = "insert into t_easyui_user(name,pwd) values(?,?) ";
        return super.executeUpdate(sql,user,new String[]{"name","pwd"});
    }

UserAction

public String add(HttpServletRequest request, HttpServletResponse response){
        try {
            this.userDao.add(user);
        } catch (Exception e) {
            e.printStackTrace();
            return "register";
        }
        return "login";
    }

1、我们来到用户注册界面,注册一个账号为qqq,密码为qqq的账号
在这里插入图片描述
2、注册好账号之后,会跳转到登录界面
在这里插入图片描述
3、此时数据库里已经有这个账号啦
在这里插入图片描述

二、登录

相关代码:
UserDao

  //登录
    public User login(User user) throws Exception {
        String name = user.getName();
        String pwd = user.getPwd();
        String sql = "select * from t_easyui_user where true ";
        if (StringUtils.isNotBlank(name)) {
            sql += " and name = '"+name+"'";
        }
        if (StringUtils.isNotBlank(pwd)) {
            sql += " and pwd = '"+pwd+"'";
        }
//        List<User> list = super.executeQuery(sql, User.class,pageBean);
        List<User> list=super.executeQuery(sql, User.class, null);
        if (list.size() == 0) {
            return null;
        }
        return list.get(0);
    }

UserAction

 private User user = new User();
    private UserDao userDao = new UserDao();

    @Override
    public User getModel() {
        return user;
    }

    public String login(HttpServletRequest request, HttpServletResponse response){
        try {
            User current = this.userDao.login(user);
            if (current==null){
                return "main";
            }
            request.getSession().setAttribute("currentUser",current);
        } catch (Exception e) {
            e.printStackTrace();
            return "login";
        }
        return "main";
    }

1、我们首先在数据库里找一个已有的账号
在这里插入图片描述
2、来到登录界面。我们输入一个已有的账号和密码
在这里插入图片描述
3、点击登录,跳转到了主界面
在这里插入图片描述

3、权限管理

相关代码:
PermissionDao

public List<Permission> permission(String pids,PageBean pageBean) throws Exception {
		
		String sql="select * from t_easyui_Permission where id in("+pids+")";
		return super.executeQuery(sql, Permission.class, pageBean);
	}
	
public List<TreeVo<Permission>> topNodePermission(String pids,PageBean pageBean) throws Exception {
		
		List<Permission> list = this.permission(pids, pageBean);
	
		List<TreeVo<Permission>> nodes = new ArrayList<TreeVo<Permission>>();
	
		TreeVo treeVo = null;
		
		for (Permission p : list) {
			treeVo = new TreeVo<>();
			treeVo.setId(p.getId()+"");
			treeVo.setText(p.getName());
			treeVo.setParentId(p.getPid()+"");
			Map<String, Object> attributes = new HashMap<String, Object>();
			attributes.put("self", p);
			treeVo.setAttributes(attributes);
			nodes.add(treeVo);
		}
		
		return BuildTree.buildList(nodes,"0");
	
	}

RolePermissionDao

package com.xieying.dao;

import java.util.List;

import com.xieying.entity.RolePermission;
import com.xieying.util.BaseDao;
import com.xieying.util.PageBean;

public class RolePermissionDao extends BaseDao<RolePermission> {
//  获取角色对应的权限id
    public List<RolePermission> list(RolePermission rp) throws Exception {
        String sql = "select * from t_easyui_role_permission where true";
       long rid=rp.getRid();
       if(rid !=0) {
    	   sql += " and rid ="+rid;
       }
	PageBean pageBean;
	return super.executeQuery(sql, RolePermission.class, pageBean);
        
    }
}

PermissionAction

private RolePermissionDao rpd = new RolePermissionDao();
//			不管是老板还是会员都是看到所有的菜单
//			希望:老板看到全部,会员看到部分
			User current = (User) req.getSession().getAttribute("current");
			RolePermission rp=new RolePermission();
			rp.setRid(current.getType());
			List<RolePermission> list = this.rpd.list(rp);
//			
			StringBuilder pids= new StringBuilder();
			for (RolePermission rps : list) {
				pids.append(",").append(rps.getPid());
			}
			
			List<TreeVo<Permission>> topNodePermission = this.pd.topNodePermission(pids.substring(1), null);
			ResponseUtil.writeJSON(resp, topNodePermission);
		

结果是:
只有老板能看到全部的界面

在这里插入图片描述

而会员看不到订单管理
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值