diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..57cb15a6f73ad0061b429a22f0f39cf4c3cd6556 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/.idea/ +/security-java/target/ +/security-vue/node_modules/ diff --git a/README.md b/README.md index e362f82fdf173e2a979b53ad63d352bb010225f3..6c1857bae3bc622725bac4f2e00e10475c4c04a2 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,5 @@ https://docs.qq.com/doc/DQ3hwWVlJQnNMY05v ### 技术栈: springsecuriyt、springboot、myabtis、vue、element-ui -### 项目截图 - -.png) -.png) -.png) - -### 进群学习 - -加我QQ群 868057658,记得备注【 SpringSecurity 】,我们共同学习交流! - +用户名 admin 密码admin +用户名 user 密码user diff --git a/security-java/pom.xml b/security-java/pom.xml index 8385dfb4984629fa2aeb8ed0d2d8e53b5091e0b6..b814675cadd15714e324f539d5af1c1ae1d44a78 100644 --- a/security-java/pom.xml +++ b/security-java/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.5.5-SNAPSHOT + 2.5.6 com.example diff --git a/security-java/security-java.iml b/security-java/security-java.iml index 209eb29852225d02762998b16958a588be707236..74d32d6b63e8592256e66c00caa6e79e72797e03 100644 --- a/security-java/security-java.iml +++ b/security-java/security-java.iml @@ -23,11 +23,11 @@ - + - - - + + + @@ -35,35 +35,35 @@ - + - - - - - - - - - + + + + + + + + + - + - - + + - - - - - - - - + + + + + + + + @@ -88,16 +88,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/security-java/src/main/java/com/securityjava/SecurityJavaApplication.java b/security-java/src/main/java/com/securityjava/SecurityJavaApplication.java index 8a77a22e9fc3f3f30f8d4ec99b522a2306ba6e0c..079dce8c7f46a0908a4d4ee61cadae868e2f4ee6 100644 --- a/security-java/src/main/java/com/securityjava/SecurityJavaApplication.java +++ b/security-java/src/main/java/com/securityjava/SecurityJavaApplication.java @@ -1,9 +1,11 @@ package com.securityjava; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication +@MapperScan("com.securityjava.dao.**") public class SecurityJavaApplication { public static void main(String[] args) { diff --git a/security-java/src/main/java/com/securityjava/config/SecurityConfig.java b/security-java/src/main/java/com/securityjava/config/SecurityConfig.java index 5e6a04f06ea59c0b8457ff33ee63c6693ef77f99..65791eb29460815e5efb62e198b90378a3fb2d2a 100644 --- a/security-java/src/main/java/com/securityjava/config/SecurityConfig.java +++ b/security-java/src/main/java/com/securityjava/config/SecurityConfig.java @@ -3,7 +3,7 @@ package com.securityjava.config; import com.securityjava.filter.JwtAuthenticationTokenFilter; import com.securityjava.security.MyError; -import com.securityjava.service.serviceImpl.AdminServiceImpl; +import com.securityjava.service.impl.UserDetailServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -15,6 +15,7 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @@ -38,8 +39,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private MyError.MyAccessDenied myAccessDenied; + @Autowired - private AdminServiceImpl adminService; + private UserDetailServiceImpl userDetailsService; @Bean @@ -52,7 +54,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { public void configureAuthentication(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { authenticationManagerBuilder // 设置 UserDetailsService - .userDetailsService(adminService) + .userDetailsService(userDetailsService) // 使用 BCrypt 进行密码的 hash .passwordEncoder(passwordEncoder()); } @@ -106,4 +108,4 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { httpSecurity.headers().cacheControl(); } -} \ No newline at end of file +} diff --git a/security-java/src/main/java/com/securityjava/controller/LoginController.java b/security-java/src/main/java/com/securityjava/controller/LoginController.java index 5f421d75774a53bb2247cd09551ea9237be59afb..8ebf861cb8862239730f395d2514eff2a144c8bb 100644 --- a/security-java/src/main/java/com/securityjava/controller/LoginController.java +++ b/security-java/src/main/java/com/securityjava/controller/LoginController.java @@ -1,11 +1,9 @@ package com.securityjava.controller; -import com.securityjava.pojo.Admin; +import com.securityjava.model.Admin; import com.securityjava.security.LoginService; -import com.securityjava.service.serviceImpl.AdminServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.web.bind.annotation.*; @@ -18,8 +16,7 @@ import java.util.Map; @CrossOrigin public class LoginController { - @Autowired - private AdminServiceImpl adminService; + @Autowired private LoginService loginService; @@ -31,7 +28,7 @@ public class LoginController { * 登录接口 */ @PostMapping("/login") - public Map login(@RequestBody Admin admin) { + public Map login(@RequestBody Admin admin) throws Exception { //获取前端传过来的账号密码,将账号密码传入到登录逻辑处理类LoginService进行逻辑处理 return loginService.login(admin.getUsername(), admin.getPassword()); } @@ -40,20 +37,20 @@ public class LoginController { */ @PostMapping("/register") public String register(@RequestBody Admin admin) { - Admin admin1 = adminService.selectNameUser(admin.getUsername()); - if (admin1 == null) { - Admin admin2 = new Admin(); - // 调用加密器将前端传递过来的密码进行加密 - admin2.setPassword(passwordEncoder.encode(admin.getPassword())); - admin2.setUsername(admin.getUsername()); - // 将用户实体对象添加到数据库 - int i = adminService.addUser(admin2); - if (i > 0) { - return "注册成功"; - } else { - return "请联系管理员"; - } - } +// Admin admin1 = adminService.selectNameUser(admin.getUsername()); +// if (admin1 == null) { +// Admin admin2 = new Admin(); +// // 调用加密器将前端传递过来的密码进行加密 +// admin2.setPassword(passwordEncoder.encode(admin.getPassword())); +// admin2.setUsername(admin.getUsername()); +// // 将用户实体对象添加到数据库 +// int i = adminService.addUser(admin2); +// if (i > 0) { +// return "注册成功"; +// } else { +// return "请联系管理员"; +// } +// } return "用户名已存在"; } /** diff --git a/security-java/src/main/java/com/securityjava/filter/JwtAuthenticationTokenFilter.java b/security-java/src/main/java/com/securityjava/filter/JwtAuthenticationTokenFilter.java index c3677fab6f63ce83afaee2dc1b27638ff7ddf6a1..89f7ed84ce6c1da925821bbaaf8e06b675311d4d 100644 --- a/security-java/src/main/java/com/securityjava/filter/JwtAuthenticationTokenFilter.java +++ b/security-java/src/main/java/com/securityjava/filter/JwtAuthenticationTokenFilter.java @@ -1,7 +1,7 @@ package com.securityjava.filter; -import com.securityjava.service.serviceImpl.AdminServiceImpl; +import com.securityjava.service.impl.UserDetailServiceImpl; import com.securityjava.util.JwtTokenUtils; import io.jsonwebtoken.Claims; import org.springframework.beans.factory.annotation.Autowired; @@ -31,8 +31,9 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { @Autowired private JwtTokenUtils jwtTokenUtils; + @Autowired - private AdminServiceImpl adminService; + private UserDetailServiceImpl userDetailService; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { @@ -47,7 +48,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { // 从token中提取出之前存储好的用户名 String username = claims.getSubject(); // 查询出用户对象 - UserDetails user = adminService.loadUserByUsername(username); + UserDetails user = userDetailService.loadUserByUsername(username); // 将认证对象放到上下文中 UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken @@ -59,4 +60,4 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter { } filterChain.doFilter(request, response);//执行下一个过滤器 } -} \ No newline at end of file +} diff --git a/security-java/src/main/java/com/securityjava/mapper/AdminMapper.java b/security-java/src/main/java/com/securityjava/mapper/AdminMapper.java deleted file mode 100644 index e9eb85f05209d89317825cd9df21905240c5144e..0000000000000000000000000000000000000000 --- a/security-java/src/main/java/com/securityjava/mapper/AdminMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.securityjava.mapper; - -import com.securityjava.pojo.Admin; -import com.securityjava.pojo.Auty; -import com.securityjava.pojo.Role; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Repository; - -import java.util.List; - -@Mapper -@Repository -public interface AdminMapper { - List selectUser(); //查询所有的用户信息 - - Role selectRole(@Param("id") int id);//查询该用户角色 - - List selectIdAuthority(@Param("id") int id); //查询该用户角色下的所有权限 - - Admin selectIdUser(@Param("id") int id);//根据用户ID查询用户信息 - - Admin selectNameUser(@Param("name") String name);//根据用户名查询用户信息 - - int addUser(Admin admin);//添加用户 -} diff --git a/security-java/src/main/java/com/securityjava/pojo/Admin.java b/security-java/src/main/java/com/securityjava/model/Admin.java similarity index 97% rename from security-java/src/main/java/com/securityjava/pojo/Admin.java rename to security-java/src/main/java/com/securityjava/model/Admin.java index 9f6e7f71ebc9b25690147c181cf2bb42d64e5586..d2ed8f6d0416b442df1a6206c55f42b87e1d8039 100644 --- a/security-java/src/main/java/com/securityjava/pojo/Admin.java +++ b/security-java/src/main/java/com/securityjava/model/Admin.java @@ -1,4 +1,4 @@ -package com.securityjava.pojo; +package com.securityjava.model; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/security-java/src/main/java/com/securityjava/pojo/Auty.java b/security-java/src/main/java/com/securityjava/pojo/Auty.java deleted file mode 100644 index b5a6e6045866cf00ba4c5bef8503fed3c71dad65..0000000000000000000000000000000000000000 --- a/security-java/src/main/java/com/securityjava/pojo/Auty.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.securityjava.pojo; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class Auty { - private int autyid; - private String autyname; -} diff --git a/security-java/src/main/java/com/securityjava/pojo/Role.java b/security-java/src/main/java/com/securityjava/pojo/Role.java deleted file mode 100644 index 449e1c415709e3fcf8de3136eaf1c504dfe7aa88..0000000000000000000000000000000000000000 --- a/security-java/src/main/java/com/securityjava/pojo/Role.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.securityjava.pojo; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class Role { - private int roleid; - private String rolename; -} diff --git a/security-java/src/main/java/com/securityjava/security/LoginService.java b/security-java/src/main/java/com/securityjava/security/LoginService.java index 74962b7fc27b0029494766f275874986afa0fdf7..c659e39eeb62e29eeb91fbc10721c62af880004b 100644 --- a/security-java/src/main/java/com/securityjava/security/LoginService.java +++ b/security-java/src/main/java/com/securityjava/security/LoginService.java @@ -1,18 +1,16 @@ package com.securityjava.security; -import com.securityjava.pojo.Admin; -import com.securityjava.service.serviceImpl.AdminServiceImpl; import com.securityjava.util.JwtTokenUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; +import javax.annotation.Resource; import java.util.Map; /** @@ -24,32 +22,36 @@ public class LoginService { @Autowired private JwtTokenUtils jwtTokenUtils; - @Autowired - private AdminServiceImpl adminService; - @Autowired PasswordEncoder passwordEncoder; - public Map login(String username, String password) {//拿到Controller层传入的账号密码 + @Resource + private AuthenticationManager authenticationManager; + + public Map login(String username, String password) throws Exception {//拿到Controller层传入的账号密码 Map map = null; - //将账号传入到连接数据库获取账号密码权限业务逻辑类AdminServiceImpl进行校验 - //如果存在与用户名相对于的用户信息则返回一个user类,回到LoginService类进行密码的校验 - //如果不存在与用户名相对于的用户信息则抛出一个异常,进行MyError类的认证失败处理返回给前端该用户不存在 - UserDetails user = adminService.loadUserByUsername(username); - if (!passwordEncoder.matches(/*原始密码*/password,/*加密过的密码*/user.getPassword())) { - //进行密码的校验,校验失败返回前端密码错误 - map = new HashMap(); - map.put("code", 303); - map.put("msg", "密码错误"); - return map; - } else { - //密码正确 - map = jwtTokenUtils.getToken(username);//生成携带用户名的Token - map.put("code", 200); - map.put("msg", "登录成功"); - map.put("username", username);//返回给前端用户名方便前端渲染 - return map;//返回给前端一个含有Token的map集合 + // 用户验证 + try { + Authentication authentication = authenticationManager + .authenticate(new UsernamePasswordAuthenticationToken(username, password)); + UserDetails loginUser = (UserDetails) authentication.getPrincipal(); + if (loginUser != null) { + //密码正确 + map = jwtTokenUtils.getToken(username);//生成携带用户名的Token + map.put("code", 200); + map.put("msg", "登录成功"); + map.put("username", username);//返回给前端用户名方便前端渲染 + return map;//返回给前端一个含有Token的map集合 + } else { + throw new Exception("登录异常"); + } + }catch (Exception ex) + { + throw new Exception("登录异常"+ex.getMessage()); } + + + } -} \ No newline at end of file +} diff --git a/security-java/src/main/java/com/securityjava/service/AdminService.java b/security-java/src/main/java/com/securityjava/service/AdminService.java deleted file mode 100644 index 6290a9b7b1550bfe79aca1e67526c73e949b9a1c..0000000000000000000000000000000000000000 --- a/security-java/src/main/java/com/securityjava/service/AdminService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.securityjava.service; - - -import com.securityjava.pojo.Admin; -import com.securityjava.pojo.Auty; -import com.securityjava.pojo.Role; -import org.apache.ibatis.annotations.Param; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public interface AdminService { - List selectUser(); - - Role selectRole(@Param("id") int id); - - List selectIdAuthority(@Param("id") int id); - - Admin selectIdUser(@Param("id") int id); - - Admin selectNameUser(@Param("name") String name); - - int addUser(Admin admin); -} diff --git a/security-java/src/main/java/com/securityjava/service/impl/UserDetailServiceImpl.java b/security-java/src/main/java/com/securityjava/service/impl/UserDetailServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..83ce4bc9f99f3e61ca1d48a3121e074c0b374cd4 --- /dev/null +++ b/security-java/src/main/java/com/securityjava/service/impl/UserDetailServiceImpl.java @@ -0,0 +1,85 @@ +package com.securityjava.service.impl; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; + +/** + * 获取用户相关信息 + * @author charlie + * + */ +@Service +public class UserDetailServiceImpl implements UserDetailsService { + private Logger log = LoggerFactory.getLogger(UserDetailServiceImpl.class); + + + + @Override + public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException { + + String password=getPwdFromDB(userName); + + + Collection authList = getAuthorities(userName); + org.springframework.security.core.userdetails.User securityUser = + new org.springframework.security.core.userdetails.User + ( + userName, + password, + true, + true, + true, + true, + authList + ); + + return securityUser; + } + private String getPwdFromDB(String userName) throws UsernameNotFoundException { + String password="admin"; + if(userName.equals("admin")) { + password="admin"; + } + else if(userName.equals("user")) { + password="user"; + } + else { + throw new UsernameNotFoundException("登录用户:" + userName + " 不存在"); + } + BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); + password = bCryptPasswordEncoder.encode(password); + return password; + + } + /** + * 获取用户的角色权限,为了降低实验的难度,这里去掉了根据用户名获取角色的步骤 + * * @param + * * @return + * */ + private Collection getAuthorities(String userName){ + List authList = new ArrayList(); + if(userName.equals("admin")){ + authList.add(new SimpleGrantedAuthority("ROLE_USER")); + authList.add(new SimpleGrantedAuthority("ROLE_ADMIN")); + } + else{ + authList.add(new SimpleGrantedAuthority("ROLE_USER")); + } + return authList; + } + +} + diff --git a/security-java/src/main/java/com/securityjava/service/serviceImpl/AdminServiceImpl.java b/security-java/src/main/java/com/securityjava/service/serviceImpl/AdminServiceImpl.java deleted file mode 100644 index 63333b2fce1d648ed7bc5f971050b34ab9b9492e..0000000000000000000000000000000000000000 --- a/security-java/src/main/java/com/securityjava/service/serviceImpl/AdminServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.securityjava.service.serviceImpl; - - -import com.securityjava.mapper.AdminMapper; -import com.securityjava.pojo.Admin; -import com.securityjava.pojo.Auty; -import com.securityjava.pojo.Role; -import com.securityjava.service.AdminService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.User; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -@Service -public class AdminServiceImpl implements AdminService, UserDetailsService { - - @Autowired - private AdminMapper adminMapper; - - //连接数据库获取账号密码权限方法 - @Override - public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { - // 从数据库中查询出用户实体对象 - Admin admin = adminMapper.selectNameUser(username);//根据用户名查询数据库用户信息 - // 若没查询到一定要抛出该异常,这样才能被Spring Security的错误处理器处理 - if (admin == null) {//如果admin为null则表示数据库中没有相关信息 - throw new UsernameNotFoundException("没有找到该用户");//抛出异常交给MyError类进行处理停止方法的执行 - } - Role role = selectRole(admin.getRoleid()); - Collection authorities = new ArrayList<>(); - authorities.add(new SimpleGrantedAuthority(role.getRolename())); - List authority = selectIdAuthority(role.getRoleid()); - if (authority == null) { - admin.setAuthorities(authorities); - return new User(admin.getUsername(), admin.getPassword(), admin.getAuthorities()); - } else { - for (String au : authority - ) { - authorities.add(new SimpleGrantedAuthority(au)); - } - admin.setAuthorities(authorities); - return new User(admin.getUsername(), admin.getPassword(), admin.getAuthorities()); - } - - } - - @Override - public List selectUser() { - return adminMapper.selectUser(); - } - - @Override - public Role selectRole(int id) { - return adminMapper.selectRole(id); - } - - @Override - public List selectIdAuthority(int id) { - return adminMapper.selectIdAuthority(id); - } - - - @Override - public Admin selectIdUser(int id) { - return adminMapper.selectIdUser(id); - } - - @Override - public Admin selectNameUser(String name) { - return adminMapper.selectNameUser(name); - } - - @Override - public int addUser(Admin admin) { - return adminMapper.addUser(admin); - } -} diff --git a/security-java/src/main/resources/application.yml b/security-java/src/main/resources/application.yml index 9ddb152634b21aadf82b621a3c3cf0c6e8a10076..f47037a61fc8446d827aeda2a73fcafaae336a34 100644 --- a/security-java/src/main/resources/application.yml +++ b/security-java/src/main/resources/application.yml @@ -3,19 +3,10 @@ server: spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/security?useSSL=true&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://localhost:3306/security_demo?useSSL=true&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8 username: root password: 123456 -# security: -# user: -# name: user -# password: 123456 -mybatis: - configuration: - map-underscore-to-camel-case: true - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - mapper-locations: classpath:mybatis/mapper/*.xml - type-aliases-package: com.securityjava.pojo + jwt: # \u52A0\u5BC6\u5BC6\u94A5 secret: iwqjhda8232bjgh432[xlh-smile] diff --git a/security-java/src/main/resources/mybatis/mapper/AdminMapper.xml b/security-java/src/main/resources/mybatis/mapper/AdminMapper.xml deleted file mode 100644 index fd772eb9b9fc62c6b89e87de759978d3d122d1dc..0000000000000000000000000000000000000000 --- a/security-java/src/main/resources/mybatis/mapper/AdminMapper.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - select * from admin - - - - select * from role where role_id = #{id} - - - - SELECT au.auty_name - FROM roau ra - JOIN auty au - ON ra.auty_id = au.auty_id - WHERE ra.role_id = #{id} - - - - - select * from admin where admin_id = #{id} - - - - select * from admin where username = #{name} - - - - insert into admin (username,password) - values (#{username},#{password}) - - - \ No newline at end of file diff --git a/security-java/src/test/java/com/securityjava/SecurityJavaApplicationTests.java b/security-java/src/test/java/com/securityjava/SecurityJavaApplicationTests.java index 3ef1b5a179c283ee745d351c6a509087947398b0..7eece329cc12461b3031075b70491c70ecf14288 100644 --- a/security-java/src/test/java/com/securityjava/SecurityJavaApplicationTests.java +++ b/security-java/src/test/java/com/securityjava/SecurityJavaApplicationTests.java @@ -1,43 +1,21 @@ package com.securityjava; -import com.securityjava.mapper.AdminMapper; -import com.securityjava.pojo.Admin; -import com.securityjava.pojo.Auty; -import com.securityjava.pojo.Role; -import com.securityjava.security.LoginService; -import com.securityjava.service.serviceImpl.AdminServiceImpl; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.User; -import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.password.PasswordEncoder; -import java.util.ArrayList; -import java.util.Collection; import java.util.List; @SpringBootTest class SecurityJavaApplicationTests { - @Autowired - private AdminServiceImpl adminService; - - @Autowired - private AdminMapper adminMapper; @Autowired private PasswordEncoder passwordEncoder; @Test void contextLoads() { - Admin admin = adminMapper.selectNameUser("123"); - Role role = adminMapper.selectRole(admin.getRoleid()); - List auties = adminMapper.selectIdAuthority(role.getRoleid()); - System.out.println(role); - System.out.println(auties); } } diff --git a/security-java/target/classes/application.yml b/security-java/target/classes/application.yml deleted file mode 100644 index 9ddb152634b21aadf82b621a3c3cf0c6e8a10076..0000000000000000000000000000000000000000 --- a/security-java/target/classes/application.yml +++ /dev/null @@ -1,26 +0,0 @@ -server: - port: 8088 -spring: - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/security?useSSL=true&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8 - username: root - password: 123456 -# security: -# user: -# name: user -# password: 123456 -mybatis: - configuration: - map-underscore-to-camel-case: true - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - mapper-locations: classpath:mybatis/mapper/*.xml - type-aliases-package: com.securityjava.pojo -jwt: - # \u52A0\u5BC6\u5BC6\u94A5 - secret: iwqjhda8232bjgh432[xlh-smile] - #token\u6709\u6548\u65F6\u957F (\u5355\u4F4D\u79D2) - expire: 3600 - #\u8BF7\u6C42\u5934\u53C2\u6570\u540D\u79F0 - tokenHead: token - diff --git a/security-java/target/classes/com/securityjava/SecurityJavaApplication.class b/security-java/target/classes/com/securityjava/SecurityJavaApplication.class deleted file mode 100644 index 1789dbd1c890bac8d722b567bee62ef8b249590d..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/SecurityJavaApplication.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/config/SecurityConfig.class b/security-java/target/classes/com/securityjava/config/SecurityConfig.class deleted file mode 100644 index ca2a81b32450799445f0ea22e82308822fd62cb0..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/config/SecurityConfig.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/controller/LoginController.class b/security-java/target/classes/com/securityjava/controller/LoginController.class deleted file mode 100644 index 3a12efac781d8be0a86d6d83bf11cef95fc6e15b..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/controller/LoginController.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/filter/JwtAuthenticationTokenFilter.class b/security-java/target/classes/com/securityjava/filter/JwtAuthenticationTokenFilter.class deleted file mode 100644 index 0e9b53b1f8a4f568436405e69934d8b882cd7ece..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/filter/JwtAuthenticationTokenFilter.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/mapper/AdminMapper.class b/security-java/target/classes/com/securityjava/mapper/AdminMapper.class deleted file mode 100644 index 8c738c58f6fbb230cfb324c0b37a07a02804efbc..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/mapper/AdminMapper.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/pojo/Admin.class b/security-java/target/classes/com/securityjava/pojo/Admin.class deleted file mode 100644 index e71d84855fca6e31c2a5a04253305b5172564a1b..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/pojo/Admin.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/pojo/Auty.class b/security-java/target/classes/com/securityjava/pojo/Auty.class deleted file mode 100644 index 1c6c0ecabc4c279c73a49eafbef50fd7e2c2b217..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/pojo/Auty.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/pojo/Role.class b/security-java/target/classes/com/securityjava/pojo/Role.class deleted file mode 100644 index 398b5a10af052e52f9a57c3d7b336fa6835f6e9e..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/pojo/Role.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/security/LoginService.class b/security-java/target/classes/com/securityjava/security/LoginService.class deleted file mode 100644 index a38574a4259e6230b7fda6bd6a1bb42e10d8a21a..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/security/LoginService.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/security/MyError$MyAccessDenied.class b/security-java/target/classes/com/securityjava/security/MyError$MyAccessDenied.class deleted file mode 100644 index c7d3a101966b2531a044a92bbab153aade846098..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/security/MyError$MyAccessDenied.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/security/MyError$MyAuthenticationEntry.class b/security-java/target/classes/com/securityjava/security/MyError$MyAuthenticationEntry.class deleted file mode 100644 index 1c8e19c433cade8471681d9b68f56dfa7c4f7657..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/security/MyError$MyAuthenticationEntry.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/security/MyError.class b/security-java/target/classes/com/securityjava/security/MyError.class deleted file mode 100644 index ffe14e13b8c2ba4ea1d8409525fb9c9df1d0549c..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/security/MyError.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/service/AdminService.class b/security-java/target/classes/com/securityjava/service/AdminService.class deleted file mode 100644 index fb5d28b38fe3d6342e1b667b87cee9f8177937ab..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/service/AdminService.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/service/serviceImpl/AdminServiceImpl.class b/security-java/target/classes/com/securityjava/service/serviceImpl/AdminServiceImpl.class deleted file mode 100644 index 776906624ab5d5f6930e3ebbf68e4b9511194c48..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/service/serviceImpl/AdminServiceImpl.class and /dev/null differ diff --git a/security-java/target/classes/com/securityjava/util/JwtTokenUtils.class b/security-java/target/classes/com/securityjava/util/JwtTokenUtils.class deleted file mode 100644 index bd28c1172e73588ad02a02f0b735e272fd81703a..0000000000000000000000000000000000000000 Binary files a/security-java/target/classes/com/securityjava/util/JwtTokenUtils.class and /dev/null differ diff --git a/security-java/target/classes/mybatis/mapper/AdminMapper.xml b/security-java/target/classes/mybatis/mapper/AdminMapper.xml deleted file mode 100644 index fd772eb9b9fc62c6b89e87de759978d3d122d1dc..0000000000000000000000000000000000000000 --- a/security-java/target/classes/mybatis/mapper/AdminMapper.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - select * from admin - - - - select * from role where role_id = #{id} - - - - SELECT au.auty_name - FROM roau ra - JOIN auty au - ON ra.auty_id = au.auty_id - WHERE ra.role_id = #{id} - - - - - select * from admin where admin_id = #{id} - - - - select * from admin where username = #{name} - - - - insert into admin (username,password) - values (#{username},#{password}) - - - \ No newline at end of file diff --git a/security-java/target/test-classes/com/securityjava/SecurityJavaApplicationTests.class b/security-java/target/test-classes/com/securityjava/SecurityJavaApplicationTests.class deleted file mode 100644 index d65d3be040d7d7a12a9e0608c41f434271b0597a..0000000000000000000000000000000000000000 Binary files a/security-java/target/test-classes/com/securityjava/SecurityJavaApplicationTests.class and /dev/null differ diff --git a/security-vue/package-lock.json b/security-vue/package-lock.json index 949dcd2e999e096bc1093960636b27f77de6c077..4bb7a1223a59d888e4c9dcbd2d5879d1fab1193a 100644 --- a/security-vue/package-lock.json +++ b/security-vue/package-lock.json @@ -525,7 +525,7 @@ "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==", "dev": true }, "babel-plugin-syntax-exponentiation-operator": { diff --git a/security-vue/package.json b/security-vue/package.json index 2dd5b9443382053bf48b60c273ecfda0b305ea80..ce1e34dadb0ccbdb82704128ade810ed1289e848 100644 --- a/security-vue/package.json +++ b/security-vue/package.json @@ -23,6 +23,7 @@ "autoprefixer": "^6.6.0", "babel-core": "^6.24.1", "babel-loader": "^6.4.0", + "babel-plugin-syntax-dynamic-import": "^6.18.0", "babel-preset-vue-app": "^1.2.0", "css-loader": "^0.27.0", "file-loader": "^0.10.1", diff --git a/security-vue/src/assets/css/global.css b/security-vue/src/assets/css/global.css new file mode 100644 index 0000000000000000000000000000000000000000..eb7206a25cfd6fe4db2ed65d62267697543fa59c --- /dev/null +++ b/security-vue/src/assets/css/global.css @@ -0,0 +1,8 @@ +*{ + margin:0; + padding:0; + box-sizing: border-box; +} +html, body, #app, #app>div { + height: 100%; +} diff --git a/security-vue/src/layout/aside-dongtai.vue b/security-vue/src/layout/aside-dongtai.vue new file mode 100644 index 0000000000000000000000000000000000000000..fed3fb61b4a47f8510a0f8490c2322f5e0b68acd --- /dev/null +++ b/security-vue/src/layout/aside-dongtai.vue @@ -0,0 +1,82 @@ + + + + + {{item.name}} + + + + + + + + diff --git a/security-vue/src/layout/aside.vue b/security-vue/src/layout/aside.vue new file mode 100644 index 0000000000000000000000000000000000000000..24f2c16a09fd69b836b9f489869a67e0aec21a24 --- /dev/null +++ b/security-vue/src/layout/aside.vue @@ -0,0 +1,23 @@ + + + + 一级菜单1 + 一级菜单2 + 一级菜单3 + + + + + + + diff --git a/security-vue/src/layout/header.vue b/security-vue/src/layout/header.vue new file mode 100644 index 0000000000000000000000000000000000000000..3700e9bf18260fa0c0a5c3216724f0002bc11200 --- /dev/null +++ b/security-vue/src/layout/header.vue @@ -0,0 +1,47 @@ + + + + 欢迎来到Vue项目 + + + + + + + + + + + 个人中心 + 退出登录 + + + + + + + + + diff --git a/security-vue/src/main.js b/security-vue/src/main.js index 5136bd59635dc7f96cdfeda14321a9d79d5e6274..a6b98ee5ba83a751f65d2e3c5c27861839e29790 100644 --- a/security-vue/src/main.js +++ b/security-vue/src/main.js @@ -7,6 +7,9 @@ import VueAxios from 'vue-axios' import router from './router/index' import store from './store/index.js' + +import './assets/css/global.css'; + Vue.prototype.$httpApi = axios Vue.use(VueAxios, axios) Vue.use(ElementUI) @@ -24,21 +27,21 @@ axios.interceptors.request.use( // 导航守卫 // 使用 router.beforeEach 注册一个全局前置守卫,判断用户是否登陆 -router.beforeEach((to, from, next) => { - let token = sessionStorage.getItem('token'); - console.log("token================" + token === null); - if (to.name == 'Login') { - next(); - }else { - if (token === null || token === '') { - console.log("token2================" + token === null); - next({name:'Login'}); - } else { - console.log("token3================" + token === null); - next(); - } - } -}); +// router.beforeEach((to, from, next) => { +// let token = sessionStorage.getItem('token'); +// console.log("token================" + token === null); +// if (to.name == 'Login') { +// next(); +// }else { +// if (token === null || token === '') { +// console.log("token2================" + token === null); +// next({name:'Login'}); +// } else { +// console.log("token3================" + token === null); +// next(); +// } +// } +// }); new Vue({ el: '#app', diff --git a/security-vue/src/router/index.js b/security-vue/src/router/index.js index 091217f28b63472bb861f5b8aa9539772bb2abda..70b10946b8aff30b1f9483ce807cf7568404e439 100644 --- a/security-vue/src/router/index.js +++ b/security-vue/src/router/index.js @@ -29,7 +29,14 @@ export default new VueRouter({ //起名字 name: 'Index', //组件 - component: Index + component: Index, + children:[ + {path: '/index/menu1',component: () => import('../views/biz/main1.vue')}, + {path: '/index/menu2',component: () => import('../views/biz/main2.vue')}, + {path: '/index/menu3',component: () => import('../views/biz/main3.vue')}, + {path: '/index/goodsManage',component: () => import('../views/biz/goodsManage.vue')} + ] + }, ] }) diff --git a/security-vue/src/views/biz/goodsManage.vue b/security-vue/src/views/biz/goodsManage.vue new file mode 100644 index 0000000000000000000000000000000000000000..4885c4315e4ac280e1f0d4417b970aca6f57918b --- /dev/null +++ b/security-vue/src/views/biz/goodsManage.vue @@ -0,0 +1,274 @@ + + + + + + 新增 + + 批量删除 + + + + + + + + + + + + + + + + + + + + + 编辑 + 删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/security-vue/src/views/biz/main1.vue b/security-vue/src/views/biz/main1.vue new file mode 100644 index 0000000000000000000000000000000000000000..0942a6e117108a0c76c9d9e5e4c7808c9ee5a4b4 --- /dev/null +++ b/security-vue/src/views/biz/main1.vue @@ -0,0 +1,103 @@ + + + + 欢迎您:{{name}} + + 退出 + + ROLE_user角色 + ROLE_root角色 + 查询权限 + 修改权限 + 添加权限 + 删除权限 + + + + + + + diff --git a/security-vue/src/views/biz/main2.vue b/security-vue/src/views/biz/main2.vue new file mode 100644 index 0000000000000000000000000000000000000000..836dd306c6ea2bbfcda3b472cdc0522794da2375 --- /dev/null +++ b/security-vue/src/views/biz/main2.vue @@ -0,0 +1,63 @@ + + + + + + + + + + + diff --git a/security-vue/src/views/biz/main3.vue b/security-vue/src/views/biz/main3.vue new file mode 100644 index 0000000000000000000000000000000000000000..6c7243d7d9be6b76fee80efac51aea1ccd885070 --- /dev/null +++ b/security-vue/src/views/biz/main3.vue @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + diff --git a/security-vue/src/views/index.vue b/security-vue/src/views/index.vue index 3a8faae00f0b654c319f23239399e04518e0960d..c02e3dfcca22156ab7218ea56d68d84dbf58ca29 100644 --- a/security-vue/src/views/index.vue +++ b/security-vue/src/views/index.vue @@ -1,104 +1,61 @@ - - - 欢迎您:{{name}} - - 退出 - - - ROLE_user角色 - ROLE_root角色 - 查询权限 - 修改权限 - 添加权限 - 删除权限 - - + + + + + + + + + + Footer + + +import Header from "../layout/header"; +import Aside from "../layout/Aside-dongtai" +export default { + name: 'Index', + components:{Header,Aside}, + props: { + msg: String + } +} + diff --git a/security-vue/src/views/login.vue b/security-vue/src/views/login.vue index b4b59b44af5ab35766960eefa8d3af994a1a7279..9c0735e7f606a3052db0119d204a5a8f98bddf98 100644 --- a/security-vue/src/views/login.vue +++ b/security-vue/src/views/login.vue @@ -1,11 +1,6 @@ - 进入 - - - - - + @@ -33,8 +28,8 @@ 取 消 注 册 - - + + @@ -94,9 +89,7 @@ }, methods: { - login(){ - this.dialogVisible = true; - }, + // logout() { // this.$store.commit('del_token'); // this.getToken(); diff --git a/security-vue/webpack.config.js b/security-vue/webpack.config.js index 442303c89e699c1fca6df6ce4b5f7cde838145a6..8770f89d7335736b82a64f6b3eb1d6e2964b5ee5 100644 --- a/security-vue/webpack.config.js +++ b/security-vue/webpack.config.js @@ -24,7 +24,7 @@ module.exports = (options = {}) => ({ test: /\.js$/, loader: 'babel-loader', options: { - presets: ['es2015'] + plugins:['syntax-dynamic-import'] }, include: [resolve('src')] }, diff --git a/security-vue/yarn.lock b/security-vue/yarn.lock index 7a1c885e707d9654d1cc468d2f1f557723d6630d..ae65aee145fe4e01309e827f3dafb77aa46c07c0 100644 --- a/security-vue/yarn.lock +++ b/security-vue/yarn.lock @@ -183,6 +183,13 @@ aws4@^1.2.1: version "1.6.0" resolved "http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.npmmirror.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== + dependencies: + follow-redirects "^1.14.4" + babel-code-frame@^6.11.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" @@ -191,6 +198,15 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + babel-core@^6.24.1: version "6.24.1" resolved "http://registry.npm.taobao.org/babel-core/download/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" @@ -408,9 +424,21 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0: babel-types "^6.24.1" lodash "^4.2.0" -babel-plugin-transform-es2015-classes@^6.23.0: +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + integrity sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw== + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + integrity sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag== dependencies: babel-helper-define-map "^6.24.1" babel-helper-function-name "^6.24.1" @@ -422,35 +450,40 @@ babel-plugin-transform-es2015-classes@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + integrity sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw== dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + integrity sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA== dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + integrity sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug== dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + integrity sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw== dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0: +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + integrity sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg== dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -479,32 +512,36 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + integrity sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg== dependencies: babel-helper-hoist-variables "^6.24.1" babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0: +babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + integrity sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw== dependencies: babel-plugin-transform-es2015-modules-amd "^6.24.1" babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0: +babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + integrity sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA== dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0: +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + integrity sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ== dependencies: babel-helper-call-delegate "^6.24.1" babel-helper-get-function-arity "^6.24.1" @@ -513,9 +550,10 @@ babel-plugin-transform-es2015-parameters@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + integrity sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw== dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" @@ -526,9 +564,10 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0: +babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + integrity sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ== dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -540,15 +579,17 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + integrity sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw== dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0: +babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" - resolved "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + integrity sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ== dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" @@ -575,6 +616,13 @@ babel-plugin-transform-regenerator@^6.22.0: dependencies: regenerator-transform "0.9.11" +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + integrity sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg== + dependencies: + regenerator-transform "^0.10.0" + babel-plugin-transform-runtime@^6.15.0: version "6.23.0" resolved "http://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" @@ -628,6 +676,36 @@ babel-preset-env@^1.2.1: browserslist "^1.4.0" invariant "^2.2.2" +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.npmmirror.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + integrity sha512-XfwUqG1Ry6R43m4Wfob+vHbIVBIqTg/TJY4Snku1iIzeH7mUnwHA8Vagmv+ZQbPwhS8HgsdQvy28Py3k5zpoFQ== + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + babel-preset-vue-app@^1.2.0: version "1.2.0" resolved "http://registry.npm.taobao.org/babel-preset-vue-app/download/babel-preset-vue-app-1.2.0.tgz#5ddfb7920020123a2482b12c6b36bdef9e3fb0ad" @@ -666,6 +744,14 @@ babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^ core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + babel-template@^6.24.1: version "6.24.1" resolved "http://registry.npm.taobao.org/babel-template/download/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" @@ -676,6 +762,17 @@ babel-template@^6.24.1: babylon "^6.11.0" lodash "^4.2.0" +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg== + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + babel-traverse@^6.24.1: version "6.24.1" resolved "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" @@ -690,6 +787,21 @@ babel-traverse@^6.24.1: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA== + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + babel-types@^6.19.0, babel-types@^6.24.1: version "6.24.1" resolved "http://registry.npm.taobao.org/babel-types/download/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" @@ -699,10 +811,25 @@ babel-types@^6.19.0, babel-types@^6.24.1: lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g== + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + babylon@^6.11.0, babylon@^6.15.0: version "6.17.0" resolved "http://registry.npm.taobao.org/babylon/download/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npmmirror.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + balanced-match@^0.4.1, balanced-match@^0.4.2: version "0.4.2" resolved "http://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -1287,6 +1414,13 @@ debug@2.6.4, debug@^2.1.1, debug@^2.2.0: dependencies: ms "0.7.3" +debug@^2.6.8: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@~2.2.0: version "2.2.0" resolved "http://registry.npm.taobao.org/debug/download/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" @@ -1629,6 +1763,11 @@ flatten@^1.0.2: version "1.0.2" resolved "http://registry.npm.taobao.org/flatten/download/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" +follow-redirects@^1.14.4: + version "1.15.2" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + for-in@^1.0.1: version "1.0.2" resolved "http://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -1742,6 +1881,11 @@ globals@^9.0.0: version "9.17.0" resolved "http://registry.npm.taobao.org/globals/download/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.npmmirror.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + graceful-fs@^4.1.2: version "4.1.11" resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -2125,6 +2269,11 @@ js-tokens@^3.0.0: version "3.0.1" resolved "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== + js-yaml@^3.4.3: version "3.8.3" resolved "http://registry.npm.taobao.org/js-yaml/download/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" @@ -2253,6 +2402,11 @@ lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.2.0: version "4.17.4" resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + longest@^1.0.1: version "1.0.1" resolved "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -2380,6 +2534,11 @@ ms@0.7.3: version "0.7.3" resolved "http://registry.npm.taobao.org/ms/download/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + nan@^2.3.0: version "2.6.2" resolved "http://registry.npm.taobao.org/nan/download/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -3144,6 +3303,11 @@ regenerator-runtime@^0.10.0: version "0.10.5" resolved "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + regenerator-transform@0.9.11: version "0.9.11" resolved "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" @@ -3152,6 +3316,15 @@ regenerator-transform@0.9.11: babel-types "^6.19.0" private "^0.1.6" +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + regex-cache@^0.4.2: version "0.4.3" resolved "http://registry.npm.taobao.org/regex-cache/download/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" @@ -3612,7 +3785,7 @@ to-arraybuffer@^1.0.0: version "1.0.1" resolved "http://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" -to-fast-properties@^1.0.1: +to-fast-properties@^1.0.1, to-fast-properties@^1.0.3: version "1.0.3" resolved "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -3775,6 +3948,11 @@ vm-browserify@0.0.4: dependencies: indexof "0.0.1" +vue-axios@^3.4.0: + version "3.5.0" + resolved "https://registry.npmmirror.com/vue-axios/-/vue-axios-3.5.0.tgz#9f37ed7e40351511e4a71f60c5d1eceff76c63db" + integrity sha512-I66AmSUI/dT/OEMNTHZQusmOqKtMxN5qgwFh4sq3kUGG0aEqBy1erKt66FAeR8o6agLGW80iLaIK/Sk/ogxsMw== + vue-hot-reload-api@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.0.tgz#9a21b35ced3634434a43ee80efb7350ea8fb206d" @@ -3797,6 +3975,11 @@ vue-loader@^13.3.0: vue-style-loader "^3.0.0" vue-template-es2015-compiler "^1.6.0" +vue-router@^3.5.3: + version "3.6.5" + resolved "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz#95847d52b9a7e3f1361cb605c8e6441f202afad8" + integrity sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ== + vue-style-loader@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.1.tgz#c8b639bb2f24baf9d78274dc17e4f264c1deda08" @@ -3819,6 +4002,11 @@ vue@^2.5.16: version "2.5.16" resolved "https://registry.yarnpkg.com/vue/-/vue-2.5.16.tgz#07edb75e8412aaeed871ebafa99f4672584a0085" +vuex@^3.6.2: + version "3.6.2" + resolved "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71" + integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw== + watchpack@^1.3.1: version "1.3.1" resolved "http://registry.npm.taobao.org/watchpack/download/watchpack-1.3.1.tgz#7d8693907b28ce6013e7f3610aa2a1acf07dad87" diff --git a/security.sql b/security.sql deleted file mode 100644 index 7e6bd410dec887f57c3fdac25518c118f9ce67e7..0000000000000000000000000000000000000000 --- a/security.sql +++ /dev/null @@ -1,87 +0,0 @@ -/* -Navicat MySQL Data Transfer - -Source Server : myconn -Source Server Version : 50625 -Source Host : localhost:3306 -Source Database : security - -Target Server Type : MYSQL -Target Server Version : 50625 -File Encoding : 65001 - -Date: 2021-12-21 09:19:23 -*/ - -SET FOREIGN_KEY_CHECKS=0; - --- ---------------------------- --- Table structure for `admin` --- ---------------------------- -DROP TABLE IF EXISTS `admin`; -CREATE TABLE `admin` ( - `admin_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', - `username` varchar(30) NOT NULL COMMENT '用户账号', - `password` varchar(100) NOT NULL COMMENT '用户密码', - `role_id` bigint(20) NOT NULL DEFAULT '1' COMMENT '角色ID', - PRIMARY KEY (`admin_id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户表'; - --- ---------------------------- --- Records of admin --- ---------------------------- -INSERT INTO `admin` VALUES ('1', 'xxx', '$2a$10$62wvQSpB4FCnNKeijAzSB.5GcSYlwVhVTPV.fsENpMUDA4INCHxh2', '1'); -INSERT INTO `admin` VALUES ('3', '123', '$2a$10$m30GWAWzN7JmmlRa7nP/ue5unV8yzhMK02OsUX2lfb/COC6O3bGFm', '2'); - --- ---------------------------- --- Table structure for `auty` --- ---------------------------- -DROP TABLE IF EXISTS `auty`; -CREATE TABLE `auty` ( - `auty_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '权限id', - `auty_name` varchar(30) NOT NULL COMMENT '权限名称', - PRIMARY KEY (`auty_id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='权限表'; - --- ---------------------------- --- Records of auty --- ---------------------------- -INSERT INTO `auty` VALUES ('1', 'update'); -INSERT INTO `auty` VALUES ('2', 'deleted'); -INSERT INTO `auty` VALUES ('3', 'insert'); -INSERT INTO `auty` VALUES ('4', 'select'); - --- ---------------------------- --- Table structure for `roau` --- ---------------------------- -DROP TABLE IF EXISTS `roau`; -CREATE TABLE `roau` ( - `roau_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角权ID', - `role_id` bigint(20) NOT NULL COMMENT '角色ID', - `auty_id` bigint(20) NOT NULL COMMENT '权限ID', - PRIMARY KEY (`roau_id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='角权关联表'; - --- ---------------------------- --- Records of roau --- ---------------------------- -INSERT INTO `roau` VALUES ('1', '1', '1'); -INSERT INTO `roau` VALUES ('2', '2', '1'); -INSERT INTO `roau` VALUES ('3', '2', '3'); -INSERT INTO `roau` VALUES ('4', '2', '4'); - --- ---------------------------- --- Table structure for `role` --- ---------------------------- -DROP TABLE IF EXISTS `role`; -CREATE TABLE `role` ( - `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', - `role_name` varchar(30) NOT NULL COMMENT '角色名称', - PRIMARY KEY (`role_id`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='角色表'; - --- ---------------------------- --- Records of role --- ---------------------------- -INSERT INTO `role` VALUES ('1', 'ROLE_user'); -INSERT INTO `role` VALUES ('2', 'ROLE_root');