因为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. HCNA Routing&Switching之VLAN间路由

    前文我们了解了二层交换技术vlan相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15091491.html:今天我们来聊一聊不同VLAN间通信相关话题 ...

  2. [JS]回调函数和回调地狱

    回调函数 小明在奶茶店点了奶茶,店员开始制作奶茶,此时"制作奶茶"与"小明等待奶茶"是一个同时进行的不同的两个事件(任务),那么,小明获取店员制作成功的奶茶是从 ...

  3. 运行第一个程序!hello world!

    第一个程序:1 //打印 hello world 2 3 #include <stdio.h> 4 int main() 5 { 6 printf("hello world!\n ...

  4. 多次面试被拒,‘宅家苦修’30天,终获美团offer(含字节跳动/阿里/腾讯等大厂面试题整理)

    背景:双非渣本. 今年由于疫情,上半年一直在家里.2月份本来无忧无虑,呆在家里不给国家添乱的时候,发现身边的同学找到了大厂的offer.心里开始有点慌张.本来想在3月份如果能回到学校,就开始考研之路, ...

  5. Android:Android Studio导入OpenCV(Android项目)

    在使用OpenCV之前,Android必须先下载ndk,因为OpenCV使用了native代码,这里建议Android Studio创建C++项目来写OpenCV的内容 1.首先在官网下载OpenCV ...

  6. 记一次mysql事务未提交导致锁未释放的问题

    记一次mysql事务未提交导致锁未释放的问题 ## 查看未提交的事务(3秒内未操作的事务) SELECT p.ID AS conn_id, P.USER AS login_user, P.HOST A ...

  7. 关于Tomcat服务器的笔记

    javaWEB的概念: a)什么是 JavaWeb:             JavaWeb 是指,所有通过 Java 语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb. JavaWeb 是 ...

  8. [数据结构-平衡树]普通 FHQ_Treap从入门到精通(注释比代码多系列)

    普通 FHQ_Treap从入门到精通(注释比代码多系列) 前提说明,作者写注释太累了,文章里的部分讲解来源于Oi-wiki,并根据代码,有部分增改.本文仅仅发布于博客园,其他地方出现本文,均是未经许可 ...

  9. Java服务突然失败:A fatal error has been detected by the Java Runtime Environment的总结

    服务启动以后过段时间自动失败:A fatal error has been detected by the Java Runtime Environment 控制台中的错误信息 A fatal err ...

  10. CVE-2021-1732 Windows 本地权限提升漏洞 EXP 下载

    漏洞简介 2021年2月10日,微软修复了一个Windows本地权限提升漏洞,漏洞编号为 CVE-2021-1732 ,本地攻击者可以利用该漏洞将权限提升为 System ,目前EXP已公开. 影响范 ...