成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

EasyUi項(xiàng)目《網(wǎng)上書城》之權(quán)限登陸,注冊(cè),左側(cè)樹(shù)形菜單

Aldous / 3645人閱讀

摘要:思路如下在實(shí)體類創(chuàng)建類在層中寫好相應(yīng)的方法登錄注冊(cè)方法然后在子控制器中寫好對(duì)應(yīng)的方法。

前言:給大家講解EasyUi項(xiàng)目《網(wǎng)上書城》

*權(quán)限:不同用戶登錄時(shí),樹(shù)形菜單會(huì)展示出不同的效果

碼字不易,點(diǎn)個(gè)關(guān)注

轉(zhuǎn)載請(qǐng)說(shuō)明!

開(kāi)發(fā)工具:eclipse,MySQL


?思維導(dǎo)圖:


目錄

1、目標(biāo)

2、思路,代碼以及效果展示

1、登錄、注冊(cè)

2、權(quán)限

2.1、user表中type中1為商家,2為買家

可以根據(jù)用戶的type值來(lái)登錄不同的界面

2.2、實(shí)現(xiàn)權(quán)限登錄的思路

2.3、代碼


1、目標(biāo)

1、登錄、注冊(cè)

2、權(quán)限樹(shù)形展示(不同用戶登錄時(shí),樹(shù)形菜單會(huì)展示出不同的效果)

2、思路,代碼以及效果展示

1、登錄、注冊(cè)


登錄、注冊(cè)個(gè)人覺(jué)得比較簡(jiǎn)單。思路如下:

1、在實(shí)體類entity創(chuàng)建user類

2、在dao層中寫好相應(yīng)的方法(登錄login、注冊(cè)register方法)

3、然后在子控制器中寫好對(duì)應(yīng)的方法。

4、最后到配置文件中xml寫好相應(yīng)路徑

user實(shí)體類

public class User {	private long id;	private String name;	private String pwd;	private int type;	public long getId() {		return id;	}	public void setId(long id) {		this.id = id;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getPwd() {		return pwd;	}	public void setPwd(String pwd) {		this.pwd = pwd;	}	public int getType() {		return type;	}	public void setType(int type) {		this.type = type;	}	@Override	public String toString() {		return "User [id=" + id + ", name=" + name + ", pwd=" + pwd + ", type=" + type + "]";	}			}

dao層

    public User login(User user) throws Exception {		String sql = "select * from t_easyui_user where name = ""+user.getName()+"" and pwd = ""+user.getPwd()+""";		return super.executeQuery(sql, User.class, null).get(0);	}		public void add(User user) throws Exception {		String sql = "insert into t_easyui_user(name,pwd) values(?,?)";		super.executeUpdate(sql, user, new String[] {"name","pwd"});			}

子控制器層

public class UserAction extends ActionSupport implements ModelDriver {	private User user = new User();	private UserDao userDao = new UserDao();	public User getModel() {		return user;	}	public String login(HttpServletRequest req, HttpServletResponse resp) {		try {			User u = userDao.login(user);			if(u == null) {				return "toLogin";			}			req.getSession().setAttribute("cuser", u);		} catch (Exception e) {			e.printStackTrace();			return "toLogin";		}		//只要數(shù)據(jù)庫(kù)中有這個(gè)用戶就跳轉(zhuǎn)到主界面		return "main";	}	public String register(HttpServletRequest req, HttpServletResponse resp) {		try {			userDao.add(user);			req.setAttribute("mag", "用戶名密碼錯(cuò)誤");		} catch (Exception e) {			e.printStackTrace();			return "toRegister";		}		//如果注冊(cè)成功,跳轉(zhuǎn)到登錄界面		return "toLogin";	}}

配置文件hpw.xml寫好相應(yīng)路徑

			

2、權(quán)限

2.1、user表中type中1為商家,2為買家

可以根據(jù)用戶的type值來(lái)登錄不同的界面

2.2、實(shí)現(xiàn)權(quán)限登錄的思路

1、將兩個(gè)表關(guān)聯(lián)起來(lái),其中Permission中的id與pid行成主外鍵關(guān)系,RolePermission中的rid與? ? ? pid行成父子關(guān)系。

2、從兩個(gè)表中得到type對(duì)應(yīng)的菜單號(hào)將其顯示

2.3、代碼

PermissionDao:

public List list(Permission permission, PageBean pageBean) throws Exception {		String sql = "select * from t_easyui_Permission where 1=1";		return super.executeQuery(sql, Permission.class, pageBean);	}		public List listPlus(String ids) throws Exception {		//ids="1,2,3,4,5,6,7,8,9,14";		String sql = "select * from t_easyui_Permission where id in ("+ids+")";		return super.executeQuery(sql, Permission.class, null);	}	public List> tree(Permission permission, PageBean pageBean) throws Exception {		List list = this.list(permission, pageBean);		List> listVo = new ArrayList>();		for (Permission p : list) {			TreeVo vo = new TreeVo<>();			vo.setId(p.getId() + "");			vo.setText(p.getName());			vo.setParentId(p.getPid() + "");			Map map = new HashMap();			map.put("self", p);			vo.setAttributes(map);			listVo.add(vo);		}		return BuildTree.buildList(listVo, "0");	}		public List> treePuls(String ids) throws Exception {		List list = this.listPlus(ids);		List> listVo = new ArrayList>();		for (Permission p : list) {			TreeVo vo = new TreeVo<>();			vo.setId(p.getId() + "");			vo.setText(p.getName());			vo.setParentId(p.getPid() + "");			Map map = new HashMap();			map.put("self", p);			vo.setAttributes(map);			listVo.add(vo);		}		return BuildTree.buildList(listVo, "0");	}

PermissionAction:

public class PermissionAction extends ActionSupport implements ModelDriver {	Permission permission = new Permission();	PermissionDao permissionDao = new PermissionDao();	UserDao userDao = new UserDao();	RolePermissionDao rolePermissionDao = new RolePermissionDao();		public Permission getModel() {		return permission;	}		public String tree(HttpServletRequest req, HttpServletResponse resp) {		try {			User cuser = (User) req.getSession().getAttribute("cuser");			if(cuser == null) {				return "toLogin";			}			int type = cuser.getType();			List findRolePermissions = rolePermissionDao.findRolePermission(type);			StringBuffer sb = new StringBuffer();			for (RolePermission rp : findRolePermissions) {				sb.append(",").append(rp.getPid());			}			//ids="1,2,3,4,5,6,7,8,9,14";			//List listPlus = permissionDao.listPlus(sb.substring(1));			List> treePuls = permissionDao.treePuls(sb.substring(1));			//List> tree = permissionDao.tree(null, null);			ResponseUtil.writeJson(resp, treePuls);		} catch (Exception e) {			e.printStackTrace();			try {				ResponseUtil.writeJson(resp, "0");			}  catch (IOException e1) {				e1.printStackTrace();			}		}		return null;	}	}

?RolePermissionDao:

package com.zking.dao;import java.util.List;import com.hpw.entity.RolePermission;import com.hpw.util.BaseDao;public class RolePermissionDao extends BaseDao {	/**	 * 通過(guò)user表中的type字段進(jìn)行查詢,查詢出商家/買家對(duì)應(yīng)的菜單ID	 * @param type	 * @return	 * @throws Exception	 */	public List findRolePermission(int type) throws Exception {		String sql = "select * from t_easyui_role_Permission where rid = "+type;		return super.executeQuery(sql, RolePermission.class, null);	}	}

效果展示:

買家身份登陸

商家身份登陸

到這里就結(jié)束了,其中重點(diǎn)是權(quán)限登錄,當(dāng)中的邏輯比較復(fù)雜

歡迎大佬指點(diǎn)?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/121063.html

相關(guān)文章

  • EasyUI項(xiàng)目門戶書籍、類別查詢、圖片上傳

    摘要:前言繼續(xù)上一篇講解項(xiàng)目網(wǎng)上書城之門戶書籍類別查詢圖片上傳碼字不易,點(diǎn)個(gè)關(guān)注轉(zhuǎn)載請(qǐng)說(shuō)明開(kāi)發(fā)工具,目錄一目標(biāo)一目標(biāo)二具體思路以及代碼,效果展示二具體思路以及代碼,效果展示一顯示菜單欄一顯示菜單欄二點(diǎn)擊左側(cè)菜單欄,出現(xiàn)對(duì)應(yīng)的書 前言:繼續(xù)上一篇講解EasyUi項(xiàng)目《網(wǎng)上書城》之門戶書籍、類別查詢、...

    OpenDigg 評(píng)論0 收藏0
  • 從0到1搭建element后臺(tái)框架權(quán)限

    摘要:項(xiàng)目中按鈕權(quán)限注冊(cè)全局自定義指令來(lái)完成的。如果對(duì)自定義指令不熟的話可以查閱官方文檔。相關(guān)文章鏈接從到搭建后臺(tái)框架打包優(yōu)化從到搭建后臺(tái)框架優(yōu)化篇 前言 首先還是謝謝各位童鞋的大大的贊贊,你們的支持是我前進(jìn)的動(dòng)力!上周寫了一篇從0到1搭建element后臺(tái)框架,很多童鞋留言提到權(quán)限問(wèn)題,這一周就給大家補(bǔ)上。GitHub 一、jwt授權(quán)認(rèn)證 現(xiàn)在大多數(shù)項(xiàng)目都是采用jwt授權(quán)認(rèn)證,也就是我們所...

    NervosNetwork 評(píng)論0 收藏0
  • EasyUI項(xiàng)目購(gòu)物車功能

    摘要:前言繼續(xù)講解項(xiàng)目網(wǎng)上書城之加入購(gòu)物車,清空購(gòu)物車功能碼字不易,點(diǎn)個(gè)關(guān)注轉(zhuǎn)載請(qǐng)說(shuō)明開(kāi)發(fā)工具,目錄目標(biāo)目標(biāo)代碼展示代碼展示加入購(gòu)物車加入購(gòu)物車清空購(gòu)物車清空購(gòu)物車思維導(dǎo)圖實(shí)現(xiàn)購(gòu)物車的三種方式目標(biāo)加入購(gòu)物車,清空購(gòu)物車代碼展 前言:繼續(xù)講解EasyUi項(xiàng)目《網(wǎng)上書城》之加入購(gòu)物車,清空購(gòu)物車功能 ...

    PrototypeZ 評(píng)論0 收藏0
  • iview admin動(dòng)態(tài)路由、權(quán)限控制個(gè)人見(jiàn)解

    摘要:目前是沒(méi)有給我處理好權(quán)限這塊的邏輯。我們的項(xiàng)目正常是路由是在本地配置好的一個(gè)路由文件,所以,要想實(shí)現(xiàn)動(dòng)態(tài)的路由,我們就必須讓實(shí)現(xiàn)動(dòng)態(tài)生成。具體頁(yè)面上的按鈕權(quán)限的分配在前端頁(yè)面是怎么控制的,完全可以去里借鑒。 iview admin目前是沒(méi)有給我處理好權(quán)限這塊的邏輯。所以,權(quán)限這塊還是得我們自己去擼。(臉上笑嘻嘻、心里mmp!) 思路做權(quán)限,說(shuō)到底就是為了讓不同權(quán)限的用戶, 可以訪問(wèn)不...

    LeanCloud 評(píng)論0 收藏0
  • 20180308_vue-router前端權(quán)限控制問(wèn)題

    vue-router前端權(quán)限控制問(wèn)題前提綱要:1.用戶A和用戶B有不同的權(quán)限。 頁(yè)面分左側(cè)菜單部分和右側(cè)內(nèi)容部分,右側(cè)內(nèi)容可能有不同路徑的不同內(nèi)容 最簡(jiǎn)單例子為點(diǎn)擊左側(cè)用戶管理 右側(cè)顯示用戶列表 點(diǎn)擊某條內(nèi)容詳情 右側(cè)顯示某一用戶的詳細(xì)內(nèi)容 2.用戶A可以訪問(wèn)路徑權(quán)限如下: a/list a/detail/:id a/list/:id 用戶B可以訪問(wèn)路徑權(quán)限如下: ...

    阿羅 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<