当前位置: 首页 > news >正文

h5网站和传统网站区别网站中的flash

h5网站和传统网站区别,网站中的flash,小程序商城制作平台,精准数据库营销项目名称#xff1a;springboot-vue-login-template✅ 功能一览模块功能后端Spring Boot MyBatis Plus JWT Shiro数据库MySQL 用户表前端Vue3 Element Plus Axios登录流程用户名/密码验证 → 返回 Token → 存储 LocalStorage权限控制拦截器校验 Token Shiro 角色权限跨… 项目名称springboot-vue-login-template✅ 功能一览模块功能后端Spring Boot MyBatis Plus JWT Shiro数据库MySQL 用户表前端Vue3 Element Plus Axios登录流程用户名/密码验证 → 返回 Token → 存储 LocalStorage权限控制拦截器校验 Token Shiro 角色权限跨域配置后端支持跨域请求接口安全所有接口需携带 Token 访问项目结构概览 springboot-vue-login-template/ ├── backend/ # Spring Boot 后端模块 │ ├── src/main/java # Java源码 │ ├── src/main/resources # 配置文件 │ └── pom.xml # Maven依赖管理 ├── frontend/ # Vue3 前端模块 │ ├── public/ │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── utils/ # 工具类 │ │ └── main.js # 入口文件 │ └── package.json # 依赖管理 └── README.md # 项目说明文档数据库脚本MySQL CREATE DATABASE springboot_login;USE springboot_login;CREATE TABLE sys_user (id BIGINT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL UNIQUE,password VARCHAR(100) NOT NULL,nickname VARCHAR(50),create_time DATETIME DEFAULT CURRENT_TIMESTAMP );-- 示例用户密码为123456 INSERT INTO sys_user (username, password, nickname) VALUES (admin, $2a$10$eACCYoNOHEzWZhE8Cwe6gOXEpTLExV6l, 管理员);后端代码Spring Boot 1. application.yml server:port: 8080spring:datasource:url: jdbc:mysql://localhost:3306/springboot_login?useSSLfalseserverTimezoneUTCusername: rootpassword: yourpassworddriver-class-name: com.mysql.cj.jdbc.Drivermybatis-plus:mapper-locations: classpath:/mapper/*.xml2. JWT 工具类 JwtUtils.java import io.jsonwebtoken.*; import java.util.Date;public class JwtUtils {private static final String SECRET your-secret-key;private static final long EXPIRATION 86400000; // 24小时public static String generateToken(String username) {return Jwts.builder().setSubject(username).setExpiration(new Date(System.currentTimeMillis() EXPIRATION)).signWith(SignatureAlgorithm.HS512, SECRET).compact();}public static String parseToken(String token) {return Jwts.parser().setSigningKey(SECRET).parseClaimsJws(token).getBody().getSubject();} }3. 登录接口 AuthController.java RestController RequestMapping(/api/auth) public class AuthController {Autowiredprivate UserService userService;PostMapping(/login)public ResponseEntity? login(RequestBody LoginRequest request) {SysUser user userService.findByUsername(request.getUsername());if (user null || !user.getPassword().equals(request.getPassword())) {throw new RuntimeException(用户名或密码错误);}String token JwtUtils.generateToken(user.getUsername());return ResponseEntity.ok().header(Authorization, Bearer token).build();} }4. 自定义拦截器 JwtInterceptor.java Component public class JwtInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String token request.getHeader(Authorization);if (token ! null token.startsWith(Bearer )) {token token.substring(7);String username JwtUtils.parseToken(token);UsernamePasswordToken shiroToken new UsernamePasswordToken(username, );SecurityUtils.getSubject().login(shiroToken);}return true;} }5. 注册拦截器 WebConfig.java Configuration public class WebConfig implements WebMvcConfigurer {Autowiredprivate JwtInterceptor jwtInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(jwtInterceptor).addPathPatterns(/**).excludePathPatterns(/api/auth/login);} }️ 前端代码Vue3 Element Plus 1. 安装依赖 npm install axios element-plus2. 登录页面组件 Login.vue templatediv stylemax-width: 400px; margin: 100px auto;h2登录/h2el-input v-modelusername placeholder用户名/el-inputel-input v-modelpassword typepassword placeholder密码 keyup.enter.nativelogin/el-inputel-button clicklogin typeprimary登录/el-button/div /templatescript setup import { ref } from vue; import { useRouter } from vue-router; import axios from axios;const router useRouter(); const username ref(); const password ref();const login async () {try {const res await axios.post(http://localhost:8080/api/auth/login, {username: username.value,password: password.value});const token res.headers.authorization;localStorage.setItem(token, token);router.push(/home);} catch (error) {alert(登录失败);} }; /script3. Axios 请求封装 utils/request.js import axios from axios;const service axios.create({baseURL: http://localhost:8080,timeout: 5000 });service.interceptors.request.use(config {const token localStorage.getItem(token);if (token) {config.headers.Authorization token;}return config; });export default service;项目启动说明README.md # Spring Boot Vue 登录系统模板## 后端启动1. 创建数据库并导入数据 2. 修改 application.yml 中的数据库配置 3. 使用 IDEA 或命令行运行 Spring Boot 项目bash cd backend mvn spring-boot:run前端启动 cd frontend npm install npm run serve访问 http://localhost:8081
http://www.pierceye.com/news/172166/

相关文章:

  • 备案号怎么添加到网站自己做网站原始代码
  • 可以做exe的网站邯郸做紧固件网站
  • 电子商务网站开发的说法移动端首页尺寸
  • 普通网站服务器房地产营销门户网站开发
  • 免费做公司网站wordpress文章格式
  • 制作网站教学设计金湖县城乡建设局网站
  • 微商城网站建设咨询网站做的不满意
  • 装企工长网站开发互联网营销师考试内容
  • 广州高端网站定制公司哪家好全椒县城乡规划建设局网站
  • 物流网站毕业设计论文论坛网站模板下载
  • 代理上网蜗牛精灵seo
  • 网站怎么做用qq登录接入网络舆情监测分析系统
  • 怎么把几个网站做互通wordpress 英文站
  • 建设高端网站需要多少钱wordpress检测
  • 如何学习网站建设app嘉兴建站软件
  • 驻马店市建设工程网站平面设计培训班学费一般多少百度贴吧
  • 长沙网络建设的网站免费的个人简历模板word下载
  • 网站维护简单吗wordpress绿色两栏响应式主题
  • 二手站网站怎做福州网站建设的公司哪家好
  • dw如何做网站后台佛山行业网站建设
  • 如何做网站轮播大图简单网页制作成品代码
  • 网站怎么做uc整合查企业网站
  • 网站没被收录什么原因网站排名点击工具
  • 江西南昌建设厅网站商品展示软件
  • 眼镜企业网站建设方案2015做那些网站致富
  • 创建个人网站的流程建设网站聊天室
  • cms 学校网站上海模板网站
  • 网站建设投资风险分析公司做的网站费用如何做账
  • 网站建设费用核算科目DW做的网页用网站打不开
  • wordpress标签搜索引擎嘉兴市做网站优化