Vue Abp vNext用户登录(Cookie)
因为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)的更多相关文章
- vue新手入门之使用vue框架搭建用户登录注册案例,手动搭建webpack+Vue项目(附源码,图文详解,亲测有效)
前言 本篇随笔主要写了手动搭建一个webpack+Vue项目,掌握相关loader的安装与使用,包括css-loader.style-loader.vue-loader.url-loader.sass ...
- Vue Abp vNext获取当前登录用户
系统默认提供了获取当前用户的api方法 https://localhost:44364/api/identity/my-profile 手工实现方法:abp后台获取当前用户需要在AppService应 ...
- 用户登录之cookie信息安全一二事
大家都知道用户登陆后,用户信息一般会选择保存在cookie里面,因为cookie是保存客户端, 并且cookie可以在客户端用浏览器自由更改,这样将会造成用户cookie存在伪造的危险,从而可能使伪造 ...
- 初识ABP vNext(5):ABP扩展实体
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 扩展实体 路由整理 最后 前言 上一篇实现了前端vue部分的用户登录和菜单权限控制,但是有一些问题需要解决,比如用户头 ...
- 初识ABP vNext(4):vue用户登录&菜单权限
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 登录 菜单权限 运行测试 最后 前言 上一篇已经创建好了前后端项目,本篇开始编码部分. 开始 几乎所有的系统都绕不开登 ...
- [Abp vNext微服务实践] - vue-element-admin登录二
简介: Vue Element Admin是基于vue.element ui开发的后台管理ui,abp vNext是abp新一代微服务框架.本篇将会介绍如何改造Vue Element Admin权限验 ...
- Vue获取Abp VNext Token
Abp VNext默认没公开访问Token的Api,但有个问题Cookie方式如果是手机或桌面程序不如Token方便 Axios默认是Json方式提交,abp登录需要使用application/x-w ...
- [Abp vNext 源码分析] - 11. 用户的自定义参数与配置
一.简要说明 文章信息: 基于的 ABP vNext 版本:1.0.0 创作日期:2019 年 10 月 23 日晚 更新日期:暂无 ABP vNext 针对用户可编辑的配置,提供了单独的 Volo. ...
- django rest_framework vue 实现用户登录
django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考 django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 ...
随机推荐
- Python小白的数学建模课-10.微分方程边值问题
小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型边值问题的建模与求解,不涉及算法推导和编程,只探讨如何使用 Pytho ...
- 【LeetCode】738. 单调递增的数字
738. 单调递增的数字 知识点:字符串:贪心 题目描述 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x ...
- 使用Freemarker导出Word文档(包含图片)代码实现及总结
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- .net core 响应的json数据驼峰显示问题。
在.net core webapi中,默认响应的json数据是以驼峰显示的,即首字母小写的方式.如果让其正常显示,只需要在全局配置即可.代码如下图: 配置之后,响应数据就不会再以驼峰的形式展示了.而是 ...
- Mysql5.7.34 数据库源码编译安装
Mysql 数据库源码编译安装 MySQL是一个关系型数据库管理系统,关系型数据库是将数据保存在不同的表中,而非将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性.由于其体积小.速度快.总体拥 ...
- 树莓派远程连接工具VNC使用教程
树莓派远程连接工具VNC使用教程 背景故事 树莓派作为一款迷你小主机,大部分的使用场景都会用到远程调试,远程调试用到最多的方式一般就是VNC和SSH,VNC是远程桌面型的远程方式,简单来说就是用Win ...
- tomcat及springboot实现Filter、Servlet、Listener
tomcat实现: 核心类org.apache.catalina.startup.ContextConfig //支持注解 see:org.apache.catalina.deploy.WebXml ...
- perfdog的基本使用
perfdog的下载安装就不做过多介绍了,直接进入正题,首先介绍下perfdog页面的结构 如下图 1.显示连接的设备 2.选择需要测试的app 3.device tab下显示设备的基本信息,sett ...
- pikachu Unsafe Filedownload 不安全的文件下载
不安全的文件下载概述文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件 ...
- 【现学现卖】th:href标签动态路径设置,thymeleaf获取session中的属性值
update:2020-02-28:按道理来说这个功能在前后端分离的时候应该不怎么用的上,基本到现在我还是没遇到过有这样的需求,不过也是一种方法就是.th:href="@{/{role}/l ...