Java高级项目实战之CRM系统用户登录功能实现
程序员文章站
2022-07-05 11:51:22
用户登录功能后台代码实现: UserMapper接口查询方法定义 /** * * @param userName * @param userPwd * @param roleName * 查询用户记录 * @return */ User queryUser(@Param("userName")Str ......
用户登录功能后台代码实现:
usermapper接口查询方法定义
/** * * @param username * @param userpwd * @param rolename * 查询用户记录 * @return */ user queryuser(@param("username")string username); <!-- 查询用户 --> <select id="queryuser" resultmap="baseresultmap"> select <include refid="base_column_list"/> from t_user where user_name =#{username} </select>
service层登录方法实现
@resource private userdao userdao; /** * 用户登录 * @param username * @param userpwd * @param rolename * @return */ @suppresswarnings({ "unchecked", "rawtypes" }) public usermodel userlogincheck(string username,string userpwd){ /** * 1.参数合法性校验 * 2.查询用户 有效性校验 * 3.密码校验 * 4.返回用户模型信息 */ // 参数校验 checkparam(username,userpwd); // 执行查询 user user=userdao.queryuser(username); // 用户存在性校验 assertutil.istrue(null==user, "该用户不存在!"); assertutil.istrue(user.getisvalid()==0, "给用户已注销!"); //密码校验 assertutil.istrue(!user.getuserpwd().equals(md5util.md5method(userpwd)),"密码不正确!"); // 构建用户信息模型 usermodel usermodel=buildusermodel(user); return usermodel; } /** * 登录参数校验 * @param username * @param userpwd * @param rolename */ private void checkparam(string username, string userpwd, integer roleid) { assertutil.istrue(stringutil.isnullorempty(username), "用户名非空!"); assertutil.istrue(stringutil.isnullorempty(userpwd), "密码非空!"); } /** * 构建用户登录数据模型 * @param user * @return */ private usermodel buildusermodel(user user) { usermodel usermodel=new usermodel(); usermodel.setrolename(user.getrolename()); usermodel.setusername(user.getusername()); usermodel.settruename(user.gettruename()); string useridstr=useridbase64.encoderuserid(user.getid()); usermodel.setuseridstr(useridstr); return usermodel; }
usercontroller层
package com.shsxt.crm.controller; import javax.annotation.resource; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.responsebody; import com.shsxt.base.basecontroller; import com.shsxt.base.resultinfo; import com.shsxt.base.exception.paramexception; import com.shsxt.crm.model.usermodel; import com.shsxt.crm.service.userservice; @controller @requestmapping("user") public class usercontroller extends basecontroller { @resource private userservice userservice; @requestmapping("userlogin") public @responsebody messagemodel userlogin(string username, string userpwd){ messagemodel resultinfo=null; try { usermodel usermodel= userservice.userlogincheck(username, userpwd); resultinfo=success(); resultinfo.setresult(usermodel); } catch (paramsexception e) { e.printstacktrace(); resultinfo=failed(e.getmessage()); } return resultinfo; } }
前台js 控制表单提交
绑定提交按钮点击事件
// 提交绑定事件 $(function(){ $("#btnlogin").click(function(){ var username=$("#username").val(); var userpwd=$("#userpwd").val(); if(isempty(username)){ alert("用户名非空!"); return; } if(isempty(userpwd)){ alert("密码非空!"); return; } var param={}; param.username=username; param.userpwd=userpwd; $.ajax({ type:"post", url:"user/userlogin", data:param, datatype:"json", success:function(data){ if(data.resultcode==200){ /** * 登录成功 * 写入cookie */ $.cookie("username",data.result.username); $.cookie("truename",data.result.truename); $.cookie("useridstr",data.result.useridstr); // 执行跳转 window.location.href="main"; }else{ alert(data.msg); } } }) }) })
部署项目,执行登录操作
登录成功 cookie 写入成功
登录成功,跳转至后台管理页面
欢迎关注sxt明辉,接下来我再回给大家奉上crm系统之系统退出,请持续关注。来尚学堂学真正实用的java技术。