• SpringBoot博客论坛管理系统


    作者主页:夜未央5788

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    本系统分为管理员、游客两种角色;
    管理员角色包含以下功能:
    登录,用户增删改查,文章增删改查,链接增删改查,日志查看,查看近期数据,类别管理等功能。

    游客角色包含以下功能:

    首页,查看文章,注册账号,登录,管理自己写的文章,管理自己的文章,评论文章等功能。

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

    5.数据库:MySql 5.7版本;

    6.是否Maven项目:是;

    技术栈

    1. 后端:SpringBoot

    2. 前端:JSP+CSS+JavaScript+LayUI

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

    3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

    4. 运行项目,在浏览器中输入http://localhost:18090/ 登录

    运行截图

    用户角色

     

     

     

     

    管理员角色 

     

     

     

    相关代码

    后台管理员控制器

    1. /**
    2. * 后台控制管理
    3. */
    4. @Controller
    5. @RequestMapping("/admin")
    6. public class AdminController {
    7. @Autowired
    8. private MenuService menuService;
    9. /**
    10. * 跳转到后台页
    11. */
    12. @RequiresPermissions("base:admin:views")
    13. @GetMapping("/index")
    14. public String index(){
    15. return Views.ADMIN;
    16. }
    17. /**
    18. * 后台主页
    19. */
    20. @RequiresPermissions("base:admin:views")
    21. @GetMapping("/main")
    22. public String main(){
    23. return Views.ADMIN_MAIN;
    24. }
    25. /**
    26. * 根据权限获取菜单
    27. * @return
    28. */
    29. @RequiresPermissions("base:admin:views")
    30. @PostMapping("/getMenu")
    31. @ResponseBody
    32. public List<Menu> getMenu(){
    33. return UserUtils.getMenuinfoList();
    34. }
    35. }

    登录控制器 

    1. /**
    2. * 登录管理页
    3. */
    4. @Controller
    5. public class LoginController {
    6. @Autowired
    7. private UserService userService;
    8. /**
    9. * 跳转到登录页
    10. */
    11. @GetMapping("/login")
    12. public String login() {
    13. User user = UserUtils.getPrincipal();
    14. if (user != null) {
    15. return Views.REDIRECT_ADMIN;
    16. }
    17. return Views.LOGIN;
    18. }
    19. /**
    20. * 登录验证
    21. *
    22. * @param user
    23. * @param map
    24. * @return
    25. */
    26. @PostMapping("/login")
    27. public String login(User user, ModelMap map) {
    28. if (user != null) {
    29. if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword())) {
    30. return Views.LOGIN;
    31. }
    32. AuthenticationToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword(), true);
    33. if (token == null) {
    34. map.put("message", "用户名或密码错误");
    35. return Views.LOGIN;
    36. }
    37. //记住我
    38. ((UsernamePasswordToken) token).setRememberMe(true);
    39. try {
    40. SecurityUtils.getSubject().login(token);
    41. return Views.REDIRECT_ADMIN;
    42. } catch (AuthenticationException e) {
    43. if (e instanceof UnknownAccountException) {
    44. map.put("message", "用户不存在");
    45. } else if (e instanceof LockedAccountException) {
    46. map.put("message", "账户未激活");
    47. map.put("status", 2);
    48. map.put("user", user);
    49. } else if (e instanceof DisabledAccountException) {
    50. map.put("message", "账户未启用");
    51. }
    52. e.printStackTrace();
    53. map.put("message", "用户认证失败");
    54. }
    55. return Views.LOGIN;
    56. } else {
    57. map.put("message", "未知异常");
    58. return Views.LOGIN;
    59. }
    60. }
    61. /**
    62. * 安卓端登录
    63. *
    64. * @param user
    65. * @return
    66. */
    67. @PostMapping("/loginAndroid")
    68. @ResponseBody
    69. public User loginAndroid( User user) {
    70. System.out.println("安卓端登录登录进到方法");
    71. AuthenticationToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword(), true);
    72. //记住我
    73. ((UsernamePasswordToken) token).setRememberMe(true);
    74. SecurityUtils.getSubject().login(token);
    75. //根据传进来的用户名查询用户信息
    76. String username = user.getUsername();
    77. User user1 = userService.findByAccount(username);
    78. System.out.println("测试安卓登录用户名信息:"+user1.getEmail()+",user1:"+user1);
    79. return user;
    80. }
    81. }

    如果也想学习本系统,下面领取。回复:063springboot  

  • 相关阅读:
    jffs2文件系统(二)
    构建镜像,执行chown -R非常慢
    TCP/IP协议专栏——以太网帧中的前导码和帧间隙-带宽计算 详解——网络入门和工程维护必看
    Open3D(C++) SVD分解求两个点云的变换矩阵
    CF487C Prefix Product Sequence 题解
    【Java网络原理】 五
    Java内存模型与线程(2)
    从0开始学汇编第一天:基础知识
    工业控制系统面临的安全问题分析
    健身也内卷?这届网友用 Python 掌握了做标准俯卧撑的秘诀
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/125565929