您的位置:首页 > 游戏 > 手游 > 平台推广策划案_做一个小程序开发_怎么把网站排名到百度前三名_网络营销就业前景和薪水

平台推广策划案_做一个小程序开发_怎么把网站排名到百度前三名_网络营销就业前景和薪水

2024/12/23 2:25:34 来源:https://blog.csdn.net/weixin_64401027/article/details/144517164  浏览:    关键词:平台推广策划案_做一个小程序开发_怎么把网站排名到百度前三名_网络营销就业前景和薪水
平台推广策划案_做一个小程序开发_怎么把网站排名到百度前三名_网络营销就业前景和薪水

从日志信息(见文章最后)来看,JWT 认证过程似乎是成功的。具体来说,以下几点表明认证流程正常:

  1. Token 解析成功:

    • 日志显示 Parsing token: eyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjEsImV4cCI6MTczNDM2MzUwMH0.jQtaj1sTBCMhIMuT3HXgf8taK82s0HBLKi9NWx3MCKEPrNGC-8k04uXP57uQxGDfqHoidYqNU3wbjKvAQfu_bA
  2. 用户详情加载成功:

    • 日志显示 Loading user details for userId: 1
    • 数据库查询成功,返回了用户 admin 的详细信息。
  3. LoginUser 对象创建成功:

    • 日志显示 Created LoginUser object for user: admin
  4. 认证设置成功:

    • 日志显示 Setting authentication for user: adminAuthentication set successfully

可能的问题

既然认证过程没有问题,那么问题可能出在后续的请求处理或数据获取过程中。以下是一些可能的原因和解决步骤:

  1. API 路径或方法不匹配:

    • 确认 /purchase/plan/generate-order 路径是否正确。
    • 确认请求方法(GET, POST 等)是否与后端 API 预期的一致。
  2. 权限问题:

    • 确认用户 admin 是否有访问 /purchase/plan/generate-order 的权限。
    • 检查角色和权限配置。
  3. 数据验证或业务逻辑错误:

    • 确认前端发送的数据是否符合后端的要求。
    • 检查后端代码中的数据验证逻辑。
  4. 网络问题:

    • 确认网络连接稳定。
    • 检查防火墙或代理设置。
  5. 日志级别:

    • 增加日志级别以获取更多详细的调试信息。

解决步骤

1. 检查 API 路径和方法

确保前端请求的路径和方法与后端 API 配置一致。例如,如果后端期望的是 POST 请求,确保前端也使用 POST 请求。

// 示例:使用 Axios 发送 POST 请求
axios.post('/purchase/plan/generate-order', payload).then(response => {console.log('Success:', response.data);}).catch(error => {console.error('Error:', error);});
2. 检查权限配置

确认用户 admin 是否有访问 /purchase/plan/generate-order 的权限。检查角色和权限配置文件。

3. 检查数据验证逻辑

确保前端发送的数据符合后端的要求,并且后端的数据验证逻辑没有问题。

// 示例:后端控制器方法
@PostMapping("/purchase/plan/generate-order")
public ResponseEntity<?> generateOrder(@Valid @RequestBody PurchasePlanDTO purchasePlanDTO) {// 处理生成订单的逻辑try {PurchasePlan order = purchasePlanService.generateOrder(purchasePlanDTO);return ResponseEntity.ok(order);} catch (Exception e) {return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());}
}
4. 增加日志级别

增加日志级别以获取更多详细的调试信息。可以在 application.ymllogback.xml 中调整日志级别。

# application.yml
logging:level:com.mechanical.erp: DEBUG
5. 使用 Postman 测试 API

使用 Postman 手动测试 /purchase/plan/generate-order API,确保其正常工作。

  • URL: http://localhost:8081/purchase/plan/generate-order
  • Method: POST
  • Headers:
    • Authorization: Bearer your_token_here
  • Body: JSON 格式的请求体

示例日志配置

以下是调整日志级别的示例配置:

application.yml
logging:level:root: INFOcom.mechanical.erp: DEBUG
logback.xml
<configuration><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><root level="info"><appender-ref ref="STDOUT" /></root><logger name="com.mechanical.erp" level="debug" additivity="false"><appender-ref ref="STDOUT" /></logger>
</configuration>

总结

  • 认证过程: 成功解析 Token 并加载用户详情。
  • 可能的问题: API 路径或方法不匹配、权限问题、数据验证或业务逻辑错误、网络问题。
  • 解决方法:
    • 检查 API 路径和方法。
    • 检查权限配置。
    • 检查数据验证逻辑。
    • 增加日志级别以获取更多信息。
    • 使用 Postman 测试 API。

通过这些步骤,你应该能够找到并解决获取用户信息失败的问题。

2024-12-16 20:05:40.783 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.e.c.security.filter.JwtAuthenticationFilter - Processing request: /purchase/plan/generate-order, token: Bearer eyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjEsImV4cCI6MTczNDM2MzUwMH0.jQtaj1sTBCMhIMuT3HXgf8taK82s0HBLKi9NWx3MCKEPrNGC-8k04uXP57uQxGDfqHoidYqNU3wbjKvAQfu_bA
2024-12-16 20:05:40.784 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.erp.common.security.service.TokenService - Got Authorization header: Bearer eyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjEsImV4cCI6MTczNDM2MzUwMH0.jQtaj1sTBCMhIMuT3HXgf8taK82s0HBLKi9NWx3MCKEPrNGC-8k04uXP57uQxGDfqHoidYqNU3wbjKvAQfu_bA
2024-12-16 20:05:40.786 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.erp.common.security.service.TokenService - Parsing token: eyJhbGciOiJIUzUxMiJ9.eyJ1c2VySWQiOjEsImV4cCI6MTczNDM2MzUwMH0.jQtaj1sTBCMhIMuT3HXgf8taK82s0HBLKi9NWx3MCKEPrNGC-8k04uXP57uQxGDfqHoidYqNU3wbjKvAQfu_bA
2024-12-16 20:05:40.790 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.erp.common.security.service.TokenService - Loading user details for userId: 1
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@21c8f906] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1289494857 wrapping ConnectionID:1 ClientConnectionId: fee27cee-7674-45b8-9a15-b618552e14c4] will not be managed by Spring       
==>  Preparing: SELECT user_id, username, nickname, email, phone, sex, avatar, password, status, del_flag, create_by, create_time, update_by, update_time, remark FROM sys_user where user_id = ?
==> Parameters: 1(Long)
<==    Columns: user_id, username, nickname, email, phone, sex, avatar, password, status, del_flag, create_by, create_time, update_by, update_time, remark
<==        Row: 1, admin, 管理员, admin@example.com, 13800138000, 1, null, $2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2, 0, 0, admin, 2024-12-12 16:53:16.82, null, 2024-12-13 13:26:50.577, 管理员
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@21c8f906]
2024-12-16 20:05:40.801 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.erp.common.security.service.TokenService - Created LoginUser object for user: admin
2024-12-16 20:05:40.802 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.e.c.security.filter.JwtAuthenticationFilter - Got login user from token: admin
2024-12-16 20:05:40.802 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.e.c.security.filter.JwtAuthenticationFilter - Setting authentication for user: admin
2024-12-16 20:05:40.804 [http-nio-0.0.0.0-8081-exec-2] INFO  c.m.e.c.security.filter.JwtAuthenticationFilter - Authentication set successfully

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com