文学起点网
当前位置: 首页 文学百科

怎么进行oauth授权(OA自动化办公管理系统)

时间:2023-07-02 作者: 小编 阅读量: 2 栏目名: 文学百科

怎么进行oauth授权?接下来我们就一起去研究一下吧!

怎么进行oauth授权?环境配置:Jdk1.8Tomcat8.5mysqlEclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持),今天小编就来聊一聊关于怎么进行oauth授权?接下来我们就一起去研究一下吧!

怎么进行oauth授权

一、项目运行

环境配置:

Jdk1.8Tomcat8.5mysqlEclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSPSpringSpringMVCMyBatishtmlcssJavaScriptJQueryAjaxlayuimaven等等

用户管理控制层:

/** * @author yy */ @Controller@RequestMapping("/user")public class UserController extends BaseController{private String prefix = "system/user/";@AutowiredIUserService iUserService;@AutowiredIRoleService iRoleService;@AutowiredIDeptService iDeptService;@AutowiredIPositionService iPositionService;@Autowiredprivate SysPasswordService passwordService;/**** @描述 跳转到用户页面** @date 2018/9/16 10:54*/@RequestMapping("/tolist")@RequiresPermissions("user:list")public String toUserList(){return prefix"user";}/*** @描述 用户数据* @date 2018/9/15 12:30*/@RequestMapping("/tableList")@ResponseBodypublic TableDataInfo list(User user){startPage();List<User> users = iUserService.selectByUser(user);return getDataTable(users);}/*** 编辑用户 system/user/edit/20180914-1*/@RequiresPermissions("user:update")@RequestMapping("/edit/{userId}")public String edit(@PathVariable("userId") String userId, Model model){// 个人信息User user = iUserService.selectByPrimaryKey(userId);Map<String, Object> role_post_dept = getRole_Post_Dept();model.addAttribute("depts", role_post_dept.get("dept"));model.addAttribute("roles", role_post_dept.get("role"));model.addAttribute("positions", role_post_dept.get("position"));model.addAttribute("user", user);return prefix"edit";}/**** @描述 保存用户** @date 2018/9/15 18:53*/@PostMapping("/editSave")@RequiresPermissions("user:update")@Operlog(modal = "用户管理", descr = "修改用户信息")@ResponseBodypublic AjaxResult save(User user){if (StringUtils.isNotNull(user.getUid()) && User.isBoss(user.getUid())){return error("不允许修改管理员用户");}if(user.getPwd()!=null){user.setSalt(ShiroUtils.randomSalt());SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);user.setPwd(md5.toHex());}return result(iUserService.updateByPrimaryKeySelective(user));}/*** @描述 添加用户页面* @date 2018/9/15 18:46*/@RequestMapping("/toAdd")@RequiresPermissions("user:add")public String toaddUser(Model model){Map<String, Object> role_post_dept = getRole_Post_Dept();model.addAttribute("depts", role_post_dept.get("dept"));model.addAttribute("roles", role_post_dept.get("role"));model.addAttribute("positions", role_post_dept.get("position"));return prefix"add";}/**** @描述 添加用户** @date 2018/9/15 20:40*/@RequestMapping("/addSave")@RequiresPermissions("user:add")@Operlog(modal = "用户管理", descr = "添加用户")@ResponseBodypublic AjaxResult addUser(User user){user.setSalt(ShiroUtils.randomSalt());SimpleHash md5 = new SimpleHash("MD5", user.getPwd(), user.getSalt(), 1024);user.setPwd(md5.toHex());user.setAvatar(CsEnum.avatar.USER_AVATAR.getValue());user.setCreateTime(new Date());return result(iUserService.insertSelective(user));}/**** @描述 批量删除** @date 2018/9/16 9:31*/@RequestMapping("/del")@RequiresPermissions("user:del")@Operlog(modal = "用户模块", descr = "删除用户")@ResponseBodypublic AjaxResult delByUserIds(String[] ids){try{int i = iUserService.deleteByPrimaryKeys(ids);}catch (Exception e){return error(e.getMessage());}return success();}/**** @描述 编辑密码修改页面** @date 2018/9/16 10:25*/@RequestMapping("/resetPwd/{userId}")@RequiresPermissions("user:update")public String editPwd(@PathVariable("userId") String id, Model model){model.addAttribute("uid", id);return prefix"resetPwd";}/**** @描述 密码修改** @date 2018/9/16 10:42*/@RequestMapping("/resetPwd")@RequiresPermissions("user:update")@Operlog(modal = "用户模块", descr = "修改密码")@ResponseBodypublic AjaxResult resetPwd(User user){return result(iUserService.resrtPwd(user));}/*** 校验手机号码*/@PostMapping("/checkPhoneUnique")@ResponseBodypublic String checkPhoneUnique(User user){String uniqueFlag = "0";if (user != null){uniqueFlag = iUserService.checkPhoneUnique(user);}return uniqueFlag;}/*** 校验email邮箱*/@PostMapping("/checkEmailUnique")@ResponseBodypublic String checkEmailUnique(User user){String uniqueFlag = "0";if (user != null){uniqueFlag = iUserService.checkEmailUnique(user);}return uniqueFlag;}/**** @描述: 校验登录名唯一性** @params:* @return:* @date: 2018/10/2 17:06*/@PostMapping("/checkLoginNameUnique")@ResponseBodypublic String checkLoginNameUnique(User user){String uniqueFlag = "0";if (user != null){uniqueFlag = iUserService.checkLoginNameUnique(user);}return uniqueFlag;}public Map<String, Object> getRole_Post_Dept(){Map<String, Object> map = new HashMap<>();//角色List<Role> roles = iRoleService.selectRoleList(new Role());//部门信息List<Dept> depts = iDeptService.selectDeptList(new Dept());//岗位List<Position> positions = iPositionService.selectPositionList(new Position());map.put("role", roles);map.put("dept", depts);map.put("position", positions);return map;}/*** 用户个人信息查看页面*/@RequestMapping("/myMsg")public String ToMyMsg(Model model, httpervletRequest request){User user = iUserService.selectByPrimaryKey(getUserId());model.addAttribute("user", user);model.addAttribute("loginIp", HttpHeaderUtil.getIpAddr(request));return prefix"profile/msg";}/*** 密码修改页面*/@RequestMapping("/resetMyPwd")public String toResetPwd(Model model){User user = iUserService.selectByPrimaryKey(getUserId());model.addAttribute("user", user);return prefix"profile/resetPwd";}/*** 密码修改保存*/@RequestMapping("/updateMyPwdSave")@ResponseBody@RequiresPermissions("user:update")@Operlog(modal = "个人信息", descr = "修改密码")public AjaxResult updateMyPwdSave(String password){User user = new User();user.setSalt(ShiroUtils.randomSalt());SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);user.setPwd(md5.toHex());user.setUid(getUserId());int i = iUserService.updateByPrimaryKeySelective(user);if (i > 0){//更新shiro中的信息ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));return success();}return error();}/*** 编辑用户头像修改*/@RequestMapping("/updateAvatar")public String toupdateAvatar(Model model){model.addAttribute("user", getUser());return prefix"profile/avatar";}/*** 修改保存用户头像*/@RequestMapping("/updateAvatarSave")@RequiresPermissions("user:update")@Operlog(modal = "个人信息", descr = "修改头像")@ResponseBodypublic AjaxResult toupdateAvatar(MultipartFile file){try{String imgPath = UploadFile.uploadUserImg(file);if (StringUtils.isEmpty(imgPath)){return error("图片上传失败,稍后再试!");}User user = new User();user.setUid(getUserId());user.setAvatar(imgPath);int i = iUserService.updateByPrimaryKeySelective(user);if (i > 0){ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));}return result(i);}catch (IOException e){return error();}catch (FileSizeException e){//文件过大return error(e.getMsg());}catch (FileNameLengthException e){//文件名字超长return error(e.getMsg());}}/*** 校验密码和原来密码是否相同*/@RequestMapping("/checkPassword")@ResponseBodypublic boolean checkPassword(String password){//加密后与数据库密码比较User user = getUser();SimpleHash md5 = new SimpleHash("MD5", password, user.getSalt(), 1024);String oldPassword = md5.toHex();String pwd = getPwd();if (pwd.equals(oldPassword)){return true;}return false;}}

部门管理控制层:

/** * @author yy */@Controller@RequestMapping("/dept")public class DeptController extends BaseController{private String prefix = "system/dept/";@AutowiredIDeptService iDeptService;@AutowiredIUserService iUserService;/**** @描述 页面跳转到部门** @date 2018/9/16 10:59*/@RequestMapping("/tolist")@RequiresPermissions("dept:list")public String tolist(){return prefix"dept";}/**** @描述 ajax请求的所有部门** @date 2018/9/16 10:48*/@RequestMapping("/ajaxlist")@ResponseBodypublic List<Dept> list(Dept dept){List<Dept> depts = iDeptService.selectDeptList(dept);return depts;}/**** @描述 部门列表页** @date 2018/9/16 10:52*/@RequestMapping("/tableList")@ResponseBodypublic TableDataInfo listPag(Dept dept){//开启分页startPage();List<Dept> depts = iDeptService.selectDeptList(dept);return getDataTable(depts);}/**** @描述 新增页面** @date 2018/9/16 11:37*/@RequiresPermissions("dept:add")@RequestMapping("/toAdd")public String toAdd(Model model){List<User> users = iUserService.selectByUser(new User());model.addAttribute("users", users);return prefix"add";}/**** @描述: 查询所有部门下的所有用户 用户归类 树状数据** @date: 2018/9/27 11:25*/@RequestMapping("/getDeptAndUserTreeData")@ResponseBodypublic List<Object> DeptAndUserTreeData(){List<Dept> depts = iDeptService.selectDeptAndUser();List<User> users=new ArrayList<>();LinkedList<Object> deptList = new LinkedList<>();for (Dept dept : depts){Map<String, Object> deptMap = new HashMap();deptMap.put("name", dept.getDeptName());deptMap.put("id", null);users = dept.getUsers();LinkedList<Object> userlist = new LinkedList<>();for (User user : users){Map<String, Object> userMap = new HashMap();userMap.put("name",user.getName());userMap.put("id",user.getUid());userMap.put("icon","/img/timg.jpg");userlist.add(userMap);}deptMap.put("children",userlist);deptList.add(deptMap);}return deptList;}/**** @描述 批量删除** @date 2018/9/16 11:53*/@RequestMapping("/del")@RequiresPermissions("dept:del")@ResponseBody@Operlog(modal = "部门管理",descr = "删除部门")public AjaxResult del(String[] ids){try{iDeptService.deleteByPrimaryKeys(ids);}catch (Exception e){return error(e.getMessage());}return success();}/**** @描述 执行保存操作** @date 2018/9/16 11:54*/@RequestMapping("/addSave")@Operlog(modal = "部门管理",descr = "添加部门")@RequiresPermissions("dept:add")@ResponseBodypublic AjaxResult addDept(Dept dept){dept.setCreateTime(new Date());returnresult(iDeptService.insertSelective(dept));}/**** @描述 编辑修改页面** @date 2018/9/16 14:06*/@RequestMapping("/edit/{id}")@RequiresPermissions("dept:update")public String edit(@PathVariable("id") String id, Model model){Dept dept = iDeptService.selectByPrimaryKey(id);List<User> users = iUserService.selectByUser(new User());model.addAttribute("users", users);model.addAttribute("Dept", dept);return prefix"edit";}/**** @描述 修改保存** @date 2018/9/16 16:12*/@RequestMapping("/editSave")@RequiresPermissions("dept:update")@Operlog(modal = "部门管理",descr = "修改信息")@ResponseBodypublic AjaxResult save(Dept dept){int i = 0;try{i = iDeptService.updateByPrimaryKeySelective(dept);}catch (Exception e){return error(e.getMessage());}return result(i);}/*** 校验部门名称*/@PostMapping("/checkDeptNameUnique")@ResponseBodypublic String checkDeptNameUnique(Dept dept){String uniqueFlag = "0";if (dept != null){uniqueFlag = iDeptService.checkDeptNameUnique(dept);}return uniqueFlag;}}

角色管理控制层:

/** * @author yy */@Controller@RequestMapping("/role")public class RoleController extends BaseController{private String prefix = "system/role/";@AutowiredIUserService iUserService;@AutowiredIRoleService iRoleService;@AutowiredIPermissionService iPermissionService;/**** @描述 页面跳转** @date 2018/9/16 10:59*/@RequestMapping("/tolist")@RequiresPermissions("role:list")public String tolist(){return prefix"role";}/**** @描述 ajax请求所有** @date 2018/9/16 10:48*/@RequestMapping("/ajaxlist")@ResponseBodypublic List<Role> list(Role role){List<Role> roles = iRoleService.selectRoleList(role);return roles;}/**** @描述 列表** @date 2018/9/16 10:52*/@RequestMapping("/tableList")@ResponseBodypublic TableDataInfo listPag(Role role){//开启分页startPage();List<Role> roles = iRoleService.selectRoleList(role);return getDataTable(roles);}/**** @描述 新增页面** @date 2018/9/16 11:37*/@RequestMapping("/toAdd")@RequiresPermissions("role:add")public String toAdd(Model model){return prefix"add";}/**** @描述 批量删除** @date 2018/9/16 11:53*/@RequestMapping("/del")@RequiresPermissions("role:del")@Operlog(modal = "角色管理",descr = "删除角色")@ResponseBodypublic AjaxResult del(Integer[] ids){try{iRoleService.deleteByPrimaryKeys(ids);}catch (Exception e){return error(e.getMessage());}return success();}/**** @描述 添加保存** @date 2018/9/16 11:54*/@RequestMapping("/addSave")@RequiresPermissions("role:update")@Operlog(modal = "角色管理",descr = "添加角色")@ResponseBodypublic AjaxResult addRole(Role role, Integer[] ids){role.setCreateTime(new Date());int insert = 0;try{if (StringUtils.isEmpty(ids)){ids = new Integer[0];}insert = iRoleService.insert(role, ids);}catch (Exception e){return error(e.getMessage());}//清空缓存ShiroUtils.clearCachedAuthorizationInfo();returnresult(insert);}/**** @描述: 根据ID 获取u他的所有权限 做回显** @params: roleId 角色Id* @return:* @date: 2018/9/27 14:04*/@RequestMapping("/selectById/{roleId}")@ResponseBodypublic Role selectById(@PathVariable("roleId") Integer roleId){Role role = iRoleService.selectByPrimaryKey(roleId);return role;}/**** @描述 编辑修改页面** @date 2018/9/16 14:06*/@RequestMapping("/edit/{id}")@RequiresPermissions("role:update")public String edit(@PathVariable("id") Integer id, Model model){Role role = iRoleService.selectByPrimaryKey(id);model.addAttribute("Role", role);return prefix"edit";}/**** @描述 编辑修改权限页面** @date 2018/9/16 14:06*/@RequestMapping("/editPower/{id}")@RequiresPermissions("role:update")public String editPower(@PathVariable("id") Integer id, Model model){Role role = iRoleService.selectByPrimaryKey(id);model.addAttribute("Role", role);return prefix"editPower";}/**** @描述 修改角色信息保存** @date 2018/9/16 16:12*/@RequestMapping("/editSave")@RequiresPermissions("role:update")@Operlog(modal = "角色管理",descr = "修改角色信息")@ResponseBodypublic AjaxResult save(Role role){int i = 0;try{i = iRoleService.updateByPrimaryKeySelective(role);}catch (Exception e){return error(e.getMessage());}return result(i);}/**** @描述 修改角色权限信息保存** @date 2018/9/16 16:12*/@RequestMapping("/editPowerSave")@RequiresPermissions("role:update")@Operlog(modal = "角色管理",descr = "修改角色权限")@ResponseBodypublic AjaxResult editPowerSave(Role role, Integer[] ids){int i = 0;try{if (StringUtils.isEmpty(ids)){ids = new Integer[0];}i = iRoleService.updateByPrimaryKeyPowerSelective(role, ids);}catch (Exception e){return error(e.getMessage());}//清空缓存ShiroUtils.clearCachedAuthorizationInfo();//如果用户正在修改的角色id 是当前用户的角色id 则刷新 subject的User信息if (role.getRoleId().equals(getRoleId())){ShiroUtils.reloadUser(iUserService.selectByPrimaryKey(getUserId()));}return result(i);}/*** 校验名称唯一*/@PostMapping("/checkRoleNameUnique")@ResponseBodypublic String checkDeptNameUnique(Role role){String uniqueFlag = "0";if (role != null){uniqueFlag = iRoleService.checkRoleNameUnique(role);}return uniqueFlag;}}

项目源码及开发文档

由于限制,这里不能直接放链接,需要项目源码与开发文档的同学转发本文 关注 私信【0221】即可获取

    推荐阅读
  • 荷塘月色简笔画彩图(荷塘的场景图简笔画)

    今日份简笔画荷塘月色.感恩日记1.,我来为整理几张简单漂亮的荷塘月色简笔画彩图?以下简笔画图片总有一款是你喜欢的,希望对你有帮助来看看吧!荷塘月色简笔画彩图今日份简笔画荷塘月色.感恩日记1.荷塘月色好看的儿童画图片儿童简笔画大全荷塘月色简笔画儿童画

  • 直硬头发软化前后效果图(头发软化前后效果图)

    可以使头发变软,变柔顺,变贴服,且价格也很便宜,普通的美发沙龙价格为50到80元左右,软化比较自然。头发软化后几天可以洗刚做完软化2至3天不要洗头,刚做完软化不要用力拉头发,会有损发质和效果。软化也是伤头发的,不过比不停地做一次性夹头发而言小很多,如果是短发做软化还是不错的。如果想让头发蓬蓬的,最好不要全头做软化,甚至不建议做软化。具体情况,建议咨询理发师。用药水要用好一点的,对头发伤害才不会很大。

  • 赞美运动员的话(赞美运动员的话有什么)

    年轻的我们自信飞扬,青春的气息如同出生的朝阳,蓬勃的力量如同阳光的挥洒此时此刻,跑道便是我们精彩的舞台,声声加油便是我们最高的奖项论何成功,谈何荣辱,心中的信念只有一个:拼搏,我来为大家科普一下关于赞美运动员的话?赞美运动员的话年轻的我们自信飞扬,青春的气息如同出生的朝阳,蓬勃的力量如同阳光的挥洒。所有的努力都是为了迎接这一刹那,所有的拼搏都是为了这一声令下。

  • 长安uni-k车主反映这款车怎么样(新车长安UNI-K登场)

    据长安汽车最新消息,中大型SUVUNI-K官图曝光,这是长安UNI系列的第二款车型。新车将搭载蓝鲸系列2.0T发动机并匹配8AT变速箱,将于广州车展首发亮相。新车亮点1.采用了全新的“V”型面设计和无边界格栅。新车概况新车前脸依然采用无边界设计并融入了V型面概念,不同于UNI-T,UNI-K的大灯位置设计在了最上方。车尾方面采用了时下流行的贯穿式尾灯设计,与UNI-T的V型后导流造型不同,UNI-K采用了新的航天器式造型,立式尾灯十分显眼。

  • 渡劫经典语录(关于渡劫的语录精选)

    情到深处人孤独,爱至穷时尽沧桑堕落的天使啊,你无知的游走着。我将于茫茫人海中访我唯一灵魂之伴侣;得之,我幸;不得,我命。玲珑骰子安红豆,入骨相思君知否。于千万人之中遇见你所遇见的人,于千万年时间无涯的荒野里,没有早一步,也没有晚一步,刚巧赶上了。生命是一朵千瓣莲花,我拒绝了绽放的同时,我也拒绝了枯萎和零落。就算哭泣也要皱眉优雅,就算失败也要转身潇洒。之后我也学会了阳奉阴违,发生了什么与我再无所谓。

  • 孤城闭什么时候上映(谁是主演)

    以下内容大家不妨参考一二希望能帮到您!孤城闭什么时候上映《孤城闭》将于2020年起在湖南卫视上映播出。该剧主要由王凯、江疏影、任敏、杨玏、边程、叶祖新、喻恩泰、王楚然、刘钧、孙坚等主演。《孤城闭》改编自米兰lady同名小说,以北宋为背景,在风起云涌的朝堂之事与剪不断理还乱的儿女情长之间,还原了一个复杂而真实的宋仁宗。

  • 大众朗逸所有灯图解(认识汽车灯图解)

    大众朗逸所有灯图解作为新手,汽车灯光就是一道难题,下面我们一起通过图解来认识一下汽车各种灯光吧。双闪灯的作用是当车辆发生意外情况后,引起其他车辆警惕,防止发生追尾事故。当踩下制动踏板后,制动灯立即亮起,并发出红色灯光,提醒后方车辆。倒车灯是白色,作用是为了照亮车尾的路面,减少倒车时盲区,另外也是对后方的提醒。

  • 雪里红的腌制方法(做雪里红腌菜的步骤)

    下面更多详细答案一起来看看吧!雪里红的腌制方法雪里红摘干净,根部用刀劈开,正一层反一层放入盆中,取盐均匀地洒在雪里红上,腌制1-2天。烧开水放凉,加盐,搅拌均匀,盐水倒入雪里红中泡制一天。泡好的雪里红捆成一小捆放入密封罐,倒入泡雪里红的盐水,盖好密封罐,即吃即取。

  • 郑州婚纱照推荐哪家好(郑州拍婚纱照团购)

    中国红喜嫁秀爆朋友圈的婚纱照中式婚纱照新中式婚纱照婚纱照风格高级感婚纱照婚纱照秀禾服的中式嫁衣,是完美诠释了东方女性温婉古典美。让人完全移不开目光~每一个女孩子都应该拥有这样华丽的喜嫁风太精致完全属于中式婚纱照的浪漫感~

  • 胎梦最准的位置(从胎梦看看你腹中的孩子给你暗示了吗)

    估计生完孩子和正在孕期的妈妈都会经历过这种事情,就是我们会经常做梦,而且会梦见一些动物植物什么的,这在老人眼里属于“胎梦”。你梦见的什么会预示着即将出生的宝宝是男孩还是女孩。你的胎梦准不准,来看看一下别人的胎梦。哈哈,看来有些胎梦还是挺准的,或许都是巧合吧,总之,宝宝来了就是我们的命中注定。