因为Abp vNext没找到Vue的模板,网上也没找到相关vNext的例子,只能自己试着写写,asp.net core abp vue都是刚学不久,所以很粗糙也可能有错误的地方,如果您看到请指正,谢谢

一、新建Vue项目,为了方便我是用vue ui方式建的,增加了element(样式),axios(ajax提交),router(路由),vuex(状态管理,暂时不会),代码尽量已经把注释写入

二、main.js中引入相关包

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
//引入element样式包
import './plugins/element.js'
//引入Axios ajax交互用
import Axios from "axios"; Vue.config.productionTip = false
//Axios设置为全局变量
Vue.prototype.$axios = Axios;
//提交header中包含cookies,Abp vNext必须
Axios.defaults.withCredentials= true; new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')

三、修改App.vue文件为以下代码

<template>
<div id="app">
<router-view/> <!--路由视图-->
</div>
</template>

<script>
export default {
name: 'app'
}
</script>

<style>
</style>

四、创建Login.vue登录页

<template>
<div>
<!-- element ui表单
详细信息请查看 https://element.faas.ele.me/#/zh-CN/component/form
-->
<el-row>
<el-col :span="5">
<el-form :model="form" label-width="100px">
<el-form-item label="用户名">
<el-input v-model="form.userNameOrEmailAddress"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input type="password" v-model="form.password" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<el-checkbox v-model="form.rememberMe">记住我</el-checkbox>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submit" style="width: 100%">提交</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</template>
<script>
//引入路由
import router from "../router"; export default {
name: 'Login',
data() {
return {
//表单名
form: {
userNameOrEmailAddress: '',
password: '',
rememberMe: true
}
};
},
methods: {
submit() {
this.$axios.post('https://localhost:44327/api/account/login', this.form)
.then(res => {
if (res.data.result == 1) {
//登录成功提示
this.$message({
message: '登录成功',
type: 'success'
});
//登录成功后跳转页面
router.push('About')
} else if (res.data.result == 2) {
//登录失败提示
this.$message({
message: '登录失败! ' + res.data.description,
type: 'error'
});
}
}
)
.catch(() => {
this.$message({
message: '未知错误',
type: 'error'
});
}
)
}
}
}
</script>

登录成功与失败提示

五、登录成功后测试查询用户

<template>
<div>
<el-button @click="btnGetUser">查询用户</el-button>
<el-button @click="btnExit">退出登录</el-button>
<hr/>
{{userInfo}}
</div>
</template>
<script>
import router from "../router";
export default {
data(){
return{
userInfo:[]
}
},
methods: {
btnGetUser: function () {
this.$axios.get('https://localhost:44327/api/identity/users')
.then(response => {
this.userInfo = response.data.items;
})
.catch(() => {
this.$message({
message: '登录失败或权限不足',
type: 'error'
});
}) },
btnExit: function () {
this.$axios.get('https://localhost:44327/api/account/logout')
.then(() => {
this.$message({
message: '退出成功',
type: 'success'
});
router.push('/')
})
}
}
}
</script>

查询成功

如果没有权限或没有登录,查询失败提示

补充根据错误码报错

            btnGetAllUser() {
this.$axios.get('https://localhost:44336/api/identity/users')
.then(res => {
console.log(res)
}).catch(error => {
switch (error.response.status) {
case 401:
this.$route.push('/Login')
break;
case 403:
this.$message.error('权限不足!');
break;
case 404:
this.$message.error('发出的请求针对的是不存在的记录,服务器没有进行操作!');
break;
case 500:
this.$message.error('服务器发生错误,请检查服务器!');
break;
default:
this.$message.error('其他错误!')
break;
}
})
}

Vue Abp vNext用户登录(Cookie)的更多相关文章

  1. vue新手入门之使用vue框架搭建用户登录注册案例,手动搭建webpack+Vue项目(附源码,图文详解,亲测有效)

    前言 本篇随笔主要写了手动搭建一个webpack+Vue项目,掌握相关loader的安装与使用,包括css-loader.style-loader.vue-loader.url-loader.sass ...

  2. Vue Abp vNext获取当前登录用户

    系统默认提供了获取当前用户的api方法 https://localhost:44364/api/identity/my-profile 手工实现方法:abp后台获取当前用户需要在AppService应 ...

  3. 用户登录之cookie信息安全一二事

    大家都知道用户登陆后,用户信息一般会选择保存在cookie里面,因为cookie是保存客户端, 并且cookie可以在客户端用浏览器自由更改,这样将会造成用户cookie存在伪造的危险,从而可能使伪造 ...

  4. 初识ABP vNext(5):ABP扩展实体

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 扩展实体 路由整理 最后 前言 上一篇实现了前端vue部分的用户登录和菜单权限控制,但是有一些问题需要解决,比如用户头 ...

  5. 初识ABP vNext(4):vue用户登录&菜单权限

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 登录 菜单权限 运行测试 最后 前言 上一篇已经创建好了前后端项目,本篇开始编码部分. 开始 几乎所有的系统都绕不开登 ...

  6. [Abp vNext微服务实践] - vue-element-admin登录二

    简介: Vue Element Admin是基于vue.element ui开发的后台管理ui,abp vNext是abp新一代微服务框架.本篇将会介绍如何改造Vue Element Admin权限验 ...

  7. Vue获取Abp VNext Token

    Abp VNext默认没公开访问Token的Api,但有个问题Cookie方式如果是手机或桌面程序不如Token方便 Axios默认是Json方式提交,abp登录需要使用application/x-w ...

  8. [Abp vNext 源码分析] - 11. 用户的自定义参数与配置

    一.简要说明 文章信息: 基于的 ABP vNext 版本:1.0.0 创作日期:2019 年 10 月 23 日晚 更新日期:暂无 ABP vNext 针对用户可编辑的配置,提供了单独的 Volo. ...

  9. django rest_framework vue 实现用户登录

    django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考  django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 ...

随机推荐

  1. TestNG注释@BeforeGroups与@AfterGroups不执行的处理

    在学习TestNG框架注解时发现在执行以下的代码 package com.groups; import org.testng.annotations.AfterGroups; import org.t ...

  2. 使用 Service Worker 缓解网站 DDOS 攻击

    前言 传统的 DDOS 防御开销很大,而且有时效果并不好. 例如使用 DNS 切换故障 IP 的方案,由于域名会受到缓存等因素的影响通常有分钟级延时,前端难以快速生效.例如使用 CDN 服务,虽可抵挡 ...

  3. Adaptive AUTOSAR 学习笔记 15 - 持久化 Persistency

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...

  4. 算法入门 - 动态数组的实现(Java版本)

    静态数组 Java中最基本的数组大家肯定不会陌生: int[] array = new int[6]; for (int i = 0; i < array.length; i++){ array ...

  5. NOIP 模拟 $38\; \rm c$

    题解 \(by\;zj\varphi\) 发现就是一棵树,但每条边都有多种不同的颜色,其实只需要保留随便三种颜色即可. 直接点分治,将询问离线,分成一端为重心,和两端都不为重心的情况. 每次只关心经过 ...

  6. luogu P2473 奖励关

    奖励关 看到数据范围,想到状压,那问题就是如何设计方程 设\(dp[i][j]\)表示在第\(i\)轮的时候,状态为\(j\)时的最优策略所拿的分值,\(j\)的二进制下为1的位置,表示选了这个宝物, ...

  7. 题解 d

    传送门 写出来\(n^2\)就有81pts-- \(n^2\)的话枚举最后成为限制的是哪两个矩形,利用前缀和和二分\(n^3\)化\(n^2\)就行了 这题最无脑直接贪心的方法会有后效性 但实际上正解 ...

  8. 从350ms到80ms,揭秘阿里工程师 iOS 短视频优化方案

    内容作为 App 产品新的促活点,受到了越来越多的重视与投入,短视频则是增加用户粘性.增加用户停留时长的一把利器.短视频的内容与体验直接关系到用户是否愿意长时停留,盒马也提出全链路内容视频化的规划,以 ...

  9. nodejs koa2 设置 静态资源目录

    参考这篇文章:https://blog.csdn.net/qq_38262910/article/details/89147571?utm_medium=distribute.pc_relevant_ ...

  10. 【springboot】集成Druid 作为数据库连接池

    转自:https://blog.csdn.net/cp026la/article/details/86508139 1. 引言 用户的每一次请求几乎都会访问数据库,访问数据库需要向数据库获取链接,而数 ...