前端Vue后端JavaWeb实现token简单登录校验

本文介绍了一个使用Vue前端和Java后端通过JWT token进行登录验证的工作室项目。前端利用Axios发送登录请求,后端校验并返回token,前端存储token并在后续请求中添加到请求头。后端通过过滤器对每个请求进行token检查。文章包含关键代码示例,并探讨了在axios与Ajax中处理token和json转换的差异。
摘要由CSDN通过智能技术生成

工作室项目里面需要实现登录校验,因为打算做的app,现在没学安卓,暂时用的vue做了个H5版的,所以用的是token进行登录校验,没有使用传统的cookie session

时间:2021-1-20

一、技术要点

前端:
1.Axios及拦截器
2.vue路由
后端:
1.token的使用(用的是jwt)
2.servlet及过滤器

二、流程

  1. 前端登录发送axios请求,
  2. 后端接收数据后核验,如果正确返回生成的token和用户的基本信息,否则返回401
  3. 前端接收token后存储在localstorage中,在之后的每一次请求中给请求头添加token
  4. 后端使用过滤器,对每一个请求检查token,正确则放行,不存在或错误则返回401

三、具体代码

1.axios发送登录请求

login.vue

前端登录代码
this.$qs.stringify(data) 将参数序列化成URL的形式,从而可以发送formData类型的数据
axios默认以play load的类型发送参数,

export default {
    data(){
        return {
        user:{
            userPhone:"",
            userPassward:""
            }
        }
    },
    methods:{
        login:function(){
            let data = {P
                userPhone:this.user.userPhone,
                userPassword:this.user.userPassward               
            };
            this.$axios.post('http://localhost/login',this.$qs.stringify(data))
            .then((res)=>{
           
前端使用 Vue后端使用 Java实现前端后端解密的 base64 加方式,你可以按照以下步骤进行操作。 前端代码(Vue): ```html <template> <div> <!-- 前端输入框 --> <input v-model="inputData" type="text" placeholder="输入要加密的数据" /> <!-- 加密按钮 --> <button @click="encryptData">加密</button> <!-- 加密后的数据 --> <p>加密后的数据:{{ encryptedData }}</p> <!-- 传输到后端的数据 --> <p>传输到后端的数据:{{ transmittedData }}</p> </div> </template> <script> export default { data() { return { inputData: '', encryptedData: '', transmittedData: '' }; }, methods: { encryptData() { // 使用 base64 加密数据 this.encryptedData = btoa(this.inputData); // 传输到后端的数据为加密后的数据 this.transmittedData = this.encryptedData; } } }; </script> ``` 后端代码(Java): ```java import java.util.Base64; public class Main { public static void main(String[] args) { String transmittedData = "加密后的数据"; // 假设这是前端传输到后端的加密数据 // 解密传输过来的数据 byte[] decodedBytes = Base64.getDecoder().decode(transmittedData); String decryptedData = new String(decodedBytes); System.out.println("解密后的数据:" + decryptedData); } } ``` 以上代码实现前端使用 Vue 对输入的数据进行 base64 加密,并将加密后的数据传输到后端后端使用 Java 对传输过来的数据进行解密,并输出解密后的数据。 请注意,这只是一个简单的示例,实际应用中可能需要更多的安全措施和错误处理。另外,前端使用了浏览器内置的 `btoa` 方法进行加密,后端使用了 Java 8 的 `Base64` 类进行解密。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值