广告
返回顶部
首页 > 资讯 > 精选 >springboot+vue如何实现登录功能
  • 310
分享到

springboot+vue如何实现登录功能

2023-06-15 06:06:51 310人浏览 八月长安
摘要

小编给大家分享一下SpringBoot+Vue如何实现登录功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!目录结构前端端口:8080后端端口:8900login.vue<template> &nbs

小编给大家分享一下SpringBoot+Vue如何实现登录功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

目录结构

springboot+vue如何实现登录功能

前端端口:8080
后端端口:8900

login.vue

<template>    <div class="login_content">        <!--  登录块  -->        <div class="login_box">            <!-- 头像  -->            <div class="avatar_box">                <img src="../assets/loGo.png"/>            </div>            <!-- 表单区域 -->            <el-fORM ref="loginFormRef" :rules="loginRules"  :model="loginForm" class="login_form" label-width="0">                <!-- 用户名 -->                <el-form-item prop="username">                    <el-input v-model="loginForm.username"  prefix-icon="iconfont icon-denglu"></el-input>                </el-form-item>                <!-- 密码 -->                <el-form-item prop="passWord">                    <el-input v-model="loginForm.password"  prefix-icon="iconfont icon-mima" type="password"></el-input>                </el-form-item>                <!-- 按钮 -->                <el-form-item class="btns">                    <el-button type="primary" @click="login">提交</el-button>                    <el-button type="info" @click="resetLoginFrom">重置</el-button>                </el-form-item>            </el-form>        </div>    </div></template><script>    export default {        data(){            return {                // 表单数据                loginForm:{                    username:"admin",                    password:"123456"                },                // 验证对象                loginRules:{                    // 校验用户名                    username:[                        { required: true, message: '用户名为必填项', trigger: 'blur' },                        { min: 5, max: 12, message: '长度在 5 到 12 个字符', trigger: 'blur' }                    ],                    // 校验密码                    password:[                        { required: true, message: '用户密码为必填项', trigger: 'blur' },                        { min: 6, max: 10, message: '长度在 6 - 10  个字符', trigger: 'blur' }                    ],                },            }        },        methods:{            // 重置表单内容            resetLoginFrom(){                this.$refs.loginFormRef.resetFields();            },            // 登录方法            login(){                // 1.表单验证                this.$refs.loginFormRef.validate(async valid =>{                    if(!valid){                        return ;                    }                    // 表单验证成功                    const {data:res} = await this.$Http.post("login",this.loginForm) // 访问后台地址                    console.log(res)                    if( res.flag == "ok"){                        this.$message.success("操作成功");                        // 跳转到home页面                        this.$router.push({path:"/home"});                        // 存储user对象                        window.sessionStorage.setItem("user",res.user);                    }else{                        this.$message.error("操作失败")                    }                });            }        }    }</script><style lang="less" scoped>    .login_content{        background-color: #2b4b6b;        height: 100%;    }    .login_box{        height: 300px;        width: 450px;        background-color: #fff;        border-radius: 3px;        position: absolute;        left: 50%;        top: 50%;        transform:translate(-50%,-50%);        .avatar_box{            width: 130px;            height: 130px;            border: 1px solid #eee;            border-radius: 50%;            padding: 10px;            box-shadow: 0 0 10px #DDD;            position: absolute;            left: 50%;            transform:translate(-50%,-50%);            background-color: #0ee;            img{                width: 100%;                height: 100%;                border-radius: 50%;                background-color: #0ee;            }        }    }    .btns{        display: flex;        justify-content: flex-end;    }    .login_form{        position: absolute;        buttom:0%;        width: 100%;        padding: 0 10px;        box-sizing: border-box;        margin-top: 120px;    }</style>

Home.vue

<template>    <div>        <el-button type="info" @click="logout">安全退出</el-button>    </div></template><script>    export default {        methods:{            logout(){                // 清楚session                window.sessionStorage.clear();                this.$router.push("/login");            }        }    }</script><style scoped></style>

index.js

import Vue from 'vue'import VueRouter from 'vue-router'//  引入login组件import Login from  '../components/login.vue'import Home from  '../components/Home.vue'Vue.use(VueRouter)const routes = [    {        path:"/",        redirect:"/login"    },    {        path:"/login",        component:Login    },    {        path:"/home",        component:Home    },]const router = new VueRouter({  routes})// 挂载路由导航守卫router.beforeEach((to,from,next)=>{    // to将要访问    // from 从哪访问    // next 接着干next(url)重定向url上,继续访问to路径    if(to.path=='/login') return next();    // 获取user    const userFlag = window.sessionStorage.getItem("user");    // 无值返回登录页    if(!userFlag) return next('/login');    // 符合要求,放行    next();})export default router

main.js

import Vue from 'vue'import App from './App.vue'import router from './router'import './plugins/element.js'// 添加全局样式import './assets/CSS/global.css'// 引入icfontimport './assets/font/iconfont.css'// 导入aioxsimport axiOS from 'axios'// 挂载axiosVue.prototype.$http = axios// 设置访问根路径axios.defaults.baseURL="http://localhost:9000"Vue.config.productionTip = falsenew Vue({  router,  render: h => h(App)}).$mount('#app')

后台实现

@RestControllerpublic class LoginController {    @Autowired    UserDao userDao;    @PostMapping("login")    public String login(@RequestBody User user){        String flag = "fail";        User user1 = userDao.getUserByMessage(user.getUsername(),user.getPassword());        System.out.println("user"+user1);        if(user1!=null){            flag="ok";        }        Map<String , Object> map =  new HashMap<>();        map.put("flag",flag);        map.put("user",user);        String  param= JSON.toJSONString(map);        return param;    }}

springboot是什么

springboot一种全新的编程规范,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,SpringBoot也是一个服务于框架的框架,服务范围是简化配置文件。

看完了这篇文章,相信你对“springboot+vue如何实现登录功能”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: springboot+vue如何实现登录功能

本文链接: https://www.lsjlt.com/news/278186.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot+vue如何实现登录功能
    小编给大家分享一下springboot+vue如何实现登录功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!目录结构前端端口:8080后端端口:8900login.vue<template> &nbs...
    99+
    2023-06-15
  • springboot+vue实现登录功能
    本文实例为大家分享了springboot+vue实现登录功能的具体代码,供大家参考,具体内容如下 目录结构 前端端口:8080 后端端口:8900 login.vue <...
    99+
    2022-11-12
  • vue+springboot实现登录功能
    本文实例为大家分享了vue+springboot实现登录功能的具体代码,供大家参考,具体内容如下 1. 登录功能的实现 实现提交表单的代码如下: async submitForm...
    99+
    2022-11-12
  • vue+springboot+shiro+jwt实现登录功能
    目录1.导入依赖2.JWTToken 替换 Shiro 原生 Token3.JWT token 工具类,提供JWT生成、校验、获取token存储的信息4.JWTFilter请求拦截5...
    99+
    2022-11-13
  • SpringBoot+Vue实现简单的登录注册功能
    文章目录 一、前言1.开发环境2.功能3.项目运行截图 二、撸代码1.构建前端项目2.构建后端项目3.前端页面编写4.后端代码编写5.前后端联调 三、小结 一、前言 ...
    99+
    2023-09-20
    vue.js spring boot java mysql
  • Vue登录功能实现
    目录写在前面登录概述登录业务流程登录业务的相关技术点登录—token原理分析登录功能实现登录表单的布局登录表单的数据绑定登录表单的验证规则登录表单的重置登录预验证登录组件配置弹窗提示...
    99+
    2022-11-12
  • Vue+Vux实现登录功能
    一、准备工作 请参照 Vue前端框架搭建 使用模板创建框架。 二、创建登录页 1.main.js 中引入全局 ToastPlugin、LoadingPlugin 插件 import ...
    99+
    2022-11-13
  • springboot+vue实现登录功能的最新方法整理
    目录一、介绍二、环境工具三、搭建后端spring-boot框架1、选择Spring Initializr创建新项目2、CommonResult类3、IErrorCode 接...
    99+
    2022-11-13
  • springboot+VUE如何实现登录注册
    这篇文章主要介绍springboot+VUE如何实现登录注册,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、springBoot创建springBoot项目分为三个包,分别为controller,service, ...
    99+
    2023-06-15
  • SpringBoot JWT实现token登录刷新功能
    目录1. 什么是JWT2. JWT组成部分3. JWT加密方式4.实战5.总结1. 什么是JWT Json web token (JWT) 是为了在网络应用环境间传递声明而执行的一种...
    99+
    2022-11-12
  • vue+tp5实现简单登录功能
    本文实例为大家分享了vue+tp5实现简单登录功能的具体代码,供大家参考,具体内容如下 准备工作:安装vue-cli,element-ui,package.json中如图所示,看着安...
    99+
    2022-11-12
  • vue+springboot如何实现登录验证码
    这篇文章主要介绍vue+springboot如何实现登录验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先看效果图在login页面添加验证码html在后端pom文件添加kaptcha依赖<dependenc...
    99+
    2023-06-15
  • springboot+VUE实现登录注册
    本文实例为大家分享了springboot+VUE实现登录注册的具体代码,供大家参考,具体内容如下 一、springBoot 创建springBoot项目 分为三个包,分别为contr...
    99+
    2022-11-12
  • Springboot+Thymeleaf+Jpa实现登录功能(附源码)
    目录前言具体实现配置文件application.yml的代码Po(实体)层代码(User.java)Dao(数据库操作)层代码(UserDao.java)Service(服务)层代码...
    99+
    2022-11-12
  • android登录功能如何实现
    Android登录功能可以通过以下步骤实现:1. 创建登录界面:创建一个登录界面的布局文件,包括用户名和密码输入框、登录按钮等组件。...
    99+
    2023-08-09
    android
  • SpringSecurity整合springBoot、redis实现登录互踢功能
    背景 基于我的文章——《SpringSecurity整合springBoot、redis token动态url权限校验》。要实现的功能是要实现一个用户不可以同时在两台设备上登录,有两...
    99+
    2022-11-12
  • vue+springboot实现登录验证码
    本文实例为大家分享了vue+springboot实现登录验证码的具体代码,供大家参考,具体内容如下 先看效果图 在login页面添加验证码html 在后端pom文件添加kaptc...
    99+
    2022-11-12
  • 详解Vue PC端如何实现扫码登录功能
    本篇文章给大家带来了关于Vue的相关知识,其中主要介绍了在PC端实现扫码的原理是什么?怎么生成二维码图片?怎么用Vue实现前端扫码登录?感兴趣的朋友,下面一起来看一下吧,希望对大家有帮助。.markdown-body{word-break:...
    99+
    2023-05-14
    前端 Vue.js
  • Vue如何实现登录记住账号密码功能
    本篇内容主要讲解“Vue如何实现登录记住账号密码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue如何实现登录记住账号密码功能”吧!实现思路用户登录时若勾选“记住我”功能选项,则将登录名和...
    99+
    2023-06-21
  • Vue登录功能的实现流程详解
    目录Vue项目中实现登录大致思路安装插件创建store封装axiosqs vue 插件api.js的作用路由拦截登录页面实际使用Vue项目中实现登录大致思路 1、第一次登录的时候,前...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作