博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前后端分离:vue+springboot+shiro权限控制
阅读量:3963 次
发布时间:2019-05-24

本文共 3170 字,大约阅读时间需要 10 分钟。

目录

1.前端部分

1.1 项目结构

在这里插入图片描述

1.2 页面

1.2.1 index.vue

1.2.2 update.vue

1.2.3 login.vue

1.2.4 index.jsp配置

import Vue from 'vue'import Router from 'vue-router'import index from '@/components/index'import update from '@/components/update'import login from '@/components/login'Vue.use(Router)export default new Router({
routes: [ {
path: '/', name: 'login', component: login },{
path: '/update', name: 'update', component: update },{
path: '/index', name: 'index', component: index } ]})

1.3 配置axios

页面中需要导入:import axios from ‘axios’;

在命令行输入:npm install axios

1.4 处理跨域请求的2种方式

1.后端controller中处理

//在controller中,加入注解	@CrossOrigin//允许跨域请求

2.前端中处理

在这里插入图片描述

使用:post请求
在这里插入图片描述
get请求:
在这里插入图片描述

2.后端部分

2.1 项目结构

在这里插入图片描述

2.2 重要代码

和前几天后台相同,只需要将controller中的返回值改为”success“或”fail“,不用再跳转页面
前后端端口号不能相同,所以我将后端改为8088
controller代码:

@RestControllerpublic class StudentController {
@Autowired StudentService studentService; @RequiresPermissions(value = {
"user_findAll"}) @RequestMapping("/findAll") public List
findAll(){
return studentService.findAll(); } @RequiresPermissions(value = {
"user_update"}) @RequestMapping("/saveAndUpdate") public String saveAndUpdate(@RequestBody TbStudent tbStudent){
try {
studentService.saveAndUpdateStudent(tbStudent); }catch (Exception ex){
return "fail"; } return "success"; } @RequiresPermissions(value = {
"user_update"}) @RequestMapping("/findById") public TbStudent findById(@RequestBody Map map){
Integer id = (Integer) map.get("id"); return studentService.findById(id); } @RequiresPermissions(value = {
"user_delete"}) @RequestMapping("/del") public String del(@RequestBody Map map){
Integer id = (Integer) map.get("id"); studentService.deleteById(Integer.valueOf(id)); return "success"; } @RequestMapping("/login") public String login(@RequestBody Map map){
String loginName = (String)map.get("loginName"); String password = (String)map.get("password"); Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken(loginName, password); try {
subject.login(token); }catch (IncorrectCredentialsException ini){
System.out.println(ini.getMessage()); } if (subject.isAuthenticated()){
return "success"; }else{
return "fail"; } } @RequestMapping("/logout") public String logout(){
Subject subject = SecurityUtils.getSubject(); subject.logout(); return "success"; }}

转载地址:http://mcezi.baihongyu.com/

你可能感兴趣的文章
confluence5.8.10 安装与破解
查看>>
Testlink使用文档
查看>>
Ruby on Rails(ROR) 实例开发之一 配置数据库Mysql
查看>>
Ruby on Rails(ROR) 实例开发之一 创建开发项目环境
查看>>
Ruby on Rails(ROR) 实例开发之一 创建数据表
查看>>
Android_Note(一)——主题界面设计
查看>>
Android_Note(二)——主界面功能
查看>>
Android开发之——子线程中使用Toast或者更新UI
查看>>
Android开发之——消息模式Toast.makeText的常见用法
查看>>
Android开发之——assets目录下资源使用总结
查看>>
Android开发之——FilenameFilter文件过滤器
查看>>
Ruby on Rails(ROR) 实例开发之一 scaffold创建框架
查看>>
转: 我的android studio学习日记
查看>>
Android_Note(三)——添加、更新、保存记事本功能
查看>>
Ruby 的 Test::Unit
查看>>
创建数据方法
查看>>
JUnit单元测试的几个规律总结
查看>>
QTP之网页链接
查看>>
Fiddler实用教程
查看>>
从入门到深入Fiddler (一)
查看>>