Giter Site home page Giter Site logo

heeexy / springboot-shiro-vue Goto Github PK

View Code? Open in Web Editor NEW
4.5K 4.5K 1.8K 424 KB

提供一套基于Spring Boot-Shiro-Vue的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限。(当前新版本已移除shiro依赖,简化了配置)

License: MIT License

Java 32.88% JavaScript 27.11% HTML 0.14% Vue 30.19% SCSS 2.94% PLpgSQL 6.73%
permissions shiro springboot vue

springboot-shiro-vue's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

springboot-shiro-vue's Issues

vue登录的问题

登录校验那个地方
if ("success" === data.result) {
this.$router.push({path: '/'})
} else {
this.$message.error("账号/密码错误");
}为什么只有"success"才能跳转呢?
我改成
if ("true" === data.result) {
this.$router.push({path: '/'})
} else {
this.$message.error("账号/密码错误");
}
后台json也是{"result":"true"}
就不行呢?

关于登录的问题

你好,我按照你的项目做了个demo,登录方法的代码是:
Subject currentUser = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
currentUser.login(token);
但是登录的时候断点没有进到这里面,而是执行了Realm中的doGetAuthenticationInfo方法,这正常吗?
还有,如果我登录时候也需要输入昵称来校验,应该怎么实现呢?

项目存在bug,权限控制不完全

您好,我在测试时发现,当某角色仅拥有某种权限时,实际上已经拥有了全部权限。 比如分配了角色管理中的修改时,实际上是可以新增和删除的。我是在你那个线上测试的,还没Git到本地测试。

请问作者是如何解决跨域问题的

我也下载了一个 vue-admin,然后请求作者你的后端登陆接口,存在跨域问题。你的后端代码好像也没配置跨域的方法。
你的demo是不是发布在ngix里的?
image

路由history模式

我想请教一下,如果换成history模式,前端后端分别怎么设置?

开发工具

请问使用什么开发工具 和 开发环境 ,希望有时间帮忙解答

用户权限菜单下的用户列表页面BUG

用户列表页面随意选择一条进行编辑,然后选择关闭dialog窗口,点击添加,就会出现被编辑的数据内容缺失的bug。原因:user.vue页面showUpdate的方法中 this.tempUser = this.list[$index] ,但是 showCreate方法又将tempUser 的值全部赋值为空 ,导致列表中之前被编辑的数据展示异常。

登录有个小问题

登录成功后不关闭浏览器,重新run dev会检查token存在而直接请求到后台导致报错

日志文件乱码

logback.xml中27行和47行的

<charset>UTF-8</charset>

注释掉后日志打印就不出现乱码了……

跨域

您好,我想请教一下,对于本地跨域,和上线时跨域,分别怎么解决?

布署到服务器上后

您好!
我将您的工程在本地上跑没有问题,放到远程服务器上后请求getInfo时,总是被shiro返回登录过期
err_code: 20011
err_msg: "登陆已过期,请重新登陆"

后台运行有问题

2019-03-13 16:55:38.773 INFO 26640 --- [ main] com.heeexy.example.MyApplication : No active profile set, falling back to default profiles: default
2019-03-13 16:55:40.622 INFO 26640 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'shiroConfiguration' of type [com.heeexy.example.config.shiro.ShiroConfiguration$$EnhancerBySpringCGLIB$$50c29246] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-03-13 16:55:41.143 INFO 26640 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'mybatis-org.mybatis.spring.boot.autoconfigure.MybatisProperties' of type [org.mybatis.spring.boot.autoconfigure.MybatisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-03-13 16:55:41.148 INFO 26640 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration' of type [org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$$EnhancerBySpringCGLIB$$b9ab938a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-03-13 16:55:41.149 INFO 26640 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari' of type [org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

后台运行后,一直报“for example: not eligible for auto-proxying”

MyBatis resultMap映射

github-issue

如图,这个One2Many的Model里并没有具体字段的定义,因此导致了Mybatis查询完数据后orm映射时出错。请问是我忽略了什么吗?

在UserRealm里注入LoginService好像会导致相关的Service事务失效

Spring的事务管理失效,尝试多种方法配置事务,相关的Service都无法开启事务。请问是不是因为UserRealm类没有由Spring管理导致的问题?
相关日志如下,在UserRealm里注入dao或者不使用spring注入可以解决问题,但是不知道有没有更好的解决方法呢?

2018-01-05 21:30:33.861 DEBUG 10346 --- [http-nio-8099-exec-2] org.mybatis.spring.SqlSessionUtils       97 : Creating a new SqlSession
2018-01-05 21:30:33.866 DEBUG 10346 --- [http-nio-8099-exec-2] org.mybatis.spring.SqlSessionUtils       148 : SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3aeb5ca8] was not registered for synchronization because synchronization is not active
2018-01-05 21:30:33.888 DEBUG 10346 --- [http-nio-8099-exec-2] o.s.jdbc.datasource.DataSourceUtils      110 : Fetching JDBC Connection from DataSource
2018-01-05 21:30:33.888 DEBUG 10346 --- [http-nio-8099-exec-2] o.s.j.d.DriverManagerDataSource          142 : Creating new JDBC DriverManager Connection to [jdbc:mariadb://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true]
2018-01-05 21:30:33.905 DEBUG 10346 --- [http-nio-8099-exec-2] o.m.s.t.SpringManagedTransaction         87 : JDBC Connection [org.mariadb.jdbc.MySQLConnection@2bad8689] will not be managed by Spring
2018-01-05 21:30:33.908 DEBUG 10346 --- [http-nio-8099-exec-2] p.c.z.admin.dao.UserDao.insertSelective  159 : ==>  Preparing: INSERT INTO sys_user ( id,username ) VALUES( ?,? ) 
2018-01-05 21:30:33.916 DEBUG 10346 --- [http-nio-8099-exec-2] p.c.z.admin.dao.UserDao.insertSelective  159 : ==> Parameters: null, test(String)
2018-01-05 21:30:33.929 DEBUG 10346 --- [http-nio-8099-exec-2] p.c.z.admin.dao.UserDao.insertSelective  159 : <==    Updates: 1
2018-01-05 21:30:33.932 DEBUG 10346 --- [http-nio-8099-exec-2] p.c.z.a.d.U.insertSelective!selectKey    159 : ==>  Executing: SELECT LAST_INSERT_ID() 
2018-01-05 21:30:33.940 DEBUG 10346 --- [http-nio-8099-exec-2] p.c.z.a.d.U.insertSelective!selectKey    159 : <==      Total: 1
2018-01-05 21:30:33.942 DEBUG 10346 --- [http-nio-8099-exec-2] org.mybatis.spring.SqlSessionUtils       191 : Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3aeb5ca8]

关于shiro

1、项目登录加密貌似有点问题。
2、建议整合redis,将shiro session放置在redis,解决单点问题。

通过案例后台整合shiro出现了问题

我通过postman测试了登录后,doGetAuthorizationInfo方法一直不执行。并且无论controller上的方法有没有配置需要权限的注释,都无法执行,都直接会提醒我在AjaxPermissionsAuthorizationFilter配置的报错登录已过期,难道是因为无法通过postman进行登录状态的保持么?希望能帮帮我。

打开页面是空的

PS C:\Users\gz000069\Downloads\a\SpringBoot-Shiro-Vue\vue> npm run dev

> [email protected] dev C:\Users\gz000069\Downloads\a\SpringBoot-Shiro-Vue\vue
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

 94% asset optimization

 ERROR  Failed to compile with 2 errors                                                                         10:20:41

This dependency was not found:

* C:\Users\gz000069\Downloads\a\SpringBoot-Shiro-Vue\vue\node_modules\webpack-dev-server\client\index.js?http://localhost:9520 in multi ./node_modules/webpack-dev-server/client?http://localhost:9520 webpack/hot/dev-server ./src/main.js

To install it, you can run: npm install --save C:\Users\gz000069\Downloads\a\SpringBoot-Shiro-Vue\vue\node_modules\webpack-dev-server\client\index.js?http://localhost:9520


This relative module was not found:

* ./src/main.js in multi ./node_modules/webpack-dev-server/client?http://localhost:9520 webpack/hot/dev-server ./src/main.js

功能建议

建议增加后台功能,在后台增加菜单配置功能,而不是把所有的菜单都写到前端去,前端从后端数据库中返回菜单列表

bug,邮件已发送

heeexy:
你好,自己这边在学习vue,并搭建框架,使用您的代码的时候发现了一个bug,修改用户的菜单栏目权限,但是菜单照常显示,发现代码漏掉了一行判断菜单有效的代码,代码如下:
331b4dd6-28d1-4c5c-89dc-ed234f438c9d

加上之后就ok了。

404

Request failed with status code 404

network中的提示
http://localhost:9520/api/login/auth

api.js中 import {getToken} from '@/utils/auth' 是灰色的
user.js中
import {getInfo, login, logout} from '@/api/login'
import {getToken, removeToken, setToken} from '@/utils/auth' 也是灰色的

出现404

我在整合的时候出现404错误,shiro的filter请求的是资源但是我的是通过nginx转发的,这个该怎么办啊

关于权限新解

更好的办法是:角色-权限组-权限,一个角色对应多个权限组,一个权限组对应多个权限。

npm run dev报错

npm install正常,运行npm run dev时报错
image
根据提示执行npm install --save svg-baker-runtime/browser-symbol命令,报错,错误日志:
image
请问如何解决?

跨域sessionid问题

请问一下,为什么你的前端没有加withCredentials: true,但是每次请求的sessionid还是一致的?

跨域要怎么处理?

咨询一下,不采用代理的方式实现,添加跨域拦截后,默认都跳转到AjaxPermissionsAuthorizationFilter的onAccessDenied方法里面,前面的异常怎么跟踪?

后端代码

您好,我能参考下后台的代码吗,我有几个地方有点疑惑

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.