V2.7.0重置密码后登陆提示用户名密码错误

Blade 未结 2 1497
Breeze
Breeze 剑圣 2021-02-26 16:38

一、该问题的重现步骤是什么?

1. 在 用户管理 点击密码重置

2. 退出admin用户

3. 使用重置密码的用户登录


二、你期待的结果是什么?实际看到的又是什么?


期待的结果:

重置密码后登陆成功


实际看到:

提示密码失败


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX、BladeX-Tool  V2.7.0  windows 2016


四、请提供详细的错误堆栈信息,这很重要。

2021-02-26 16:06:38.571  INFO 9360 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty  : Flipping property: blade-system.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2021-02-26 16:06:39.480  INFO 9360 --- [ix-blade-user-1] c.netflix.config.ChainedDynamicProperty  : Flipping property: blade-user.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2021-02-26 16:06:39.485  INFO 9360 --- [ix-blade-user-1] c.netflix.loadbalancer.BaseLoadBalancer  : Client: blade-user instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=blade-user,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
2021-02-26 16:06:39.487  INFO 9360 --- [ix-blade-user-1] c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater
2021-02-26 16:06:39.499  INFO 9360 --- [ix-blade-user-1] c.netflix.config.ChainedDynamicProperty  : Flipping property: blade-user.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2021-02-26 16:06:39.502  INFO 9360 --- [ix-blade-user-1] c.n.l.DynamicServerListLoadBalancer      : DynamicServerListLoadBalancer for client blade-user initialized: DynamicServerListLoadBalancer:{NFLoadBalancer:name=blade-user,current list of Servers=[192.168.11.132:8102],Load balancer stats=Zone stats: {unknown=[Zone:unknown;	Instance count:1;	Active connections count: 0;	Circuit breaker tripped count: 0;	Active connections per server: 0.0;]
},Server stats: [[Server:192.168.11.132:8102;	Zone:UNKNOWN;	Total Requests:0;	Successive connection failure:0;	Total blackout seconds:0;	Last connection made:Thu Jan 01 08:00:00 CST 1970;	First connection made: Thu Jan 01 08:00:00 CST 1970;	Active Connections:0;	total failure count in last (1000) msecs:0;	average resp time:0.0;	90 percentile resp time:0.0;	95 percentile resp time:0.0;	min resp time:0.0;	max resp time:0.0;	stddev resp time:0.0]
]}ServerList:com.alibaba.cloud.nacos.ribbon.NacosServerList@4529caef
2021-02-26 16:06:40.490  INFO 9360 --- [erListUpdater-0] c.netflix.config.ChainedDynamicProperty  : Flipping property: blade-user.ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
2021-02-26 16:06:42.850 ERROR 9360 --- [ix-blade-user-1] o.s.core.cloud.feign.BladeFeignFallback  : BladeFeignFallback:[org.springblade.system.user.feign.IUserClient.userInfo] serviceId:[blade-user] message:[Error while extracting response for type [org.springblade.core.tool.api.R<org.springblade.system.user.entity.UserInfo>] and content type [application/json;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.lang.Integer` from String "-": not a valid Integer value; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.lang.Integer` from String "-": not a valid Integer value
 at [Source: (PushbackInputStream); line: 1, column: 490] (through reference chain: org.springblade.core.tool.api.R["data"]->org.springblade.system.user.entity.UserInfo["user"]->org.springblade.system.user.entity.User["sex"])]
2021-02-26 16:06:42.887  WARN 9360 --- [  XNIO-1 task-1] o.s.s.o.provider.endpoint.TokenEndpoint  : Handling error: InvalidGrantException, 用户名或密码错误
2021-02-26 16:06:44.031 DEBUG 9360 --- [  XNIO-1 task-2] .c.c.v.BladeRequestMappingHandlerMapping : Mapped to org.springblade.auth.endpoint.BladeTokenEndPoint#captcha()
2021-02-26 16:06:44.667  INFO 9360 --- [  XNIO-1 task-2] io.lettuce.core.EpollProvider            : Starting without optional epoll library
2021-02-26 16:06:44.674  INFO 9360 --- [  XNIO-1 task-2] io.lettuce.core.KqueueProvider           : Starting without optional kqueue library


五、若有更多详细信息,请在下面提供。


image.png


请求访问地址是: http://192.168.11.139/api/blade-auth/oauth/token?tenantId=000000&username=luob&password=e10adc3949ba59abbe56e057f20f883e&grant_type=password&scope=all&type=account


在blade-auth项目中BladeSocialEndpoint类与BladeTokenEndPoint类,没有找到oauth/token的请求方法,请告知下。




2条回答
  • 2021-02-27 16:07

    原因是修改了BladeBeanSerializerModifier类中的Integer的格式化导致的,而不是真正的用户名或密码错误。

     at [Source: (PushbackInputStream); line: 1, column: 490] (through reference chain: org.springblade.core.tool.api.R["data"]->org.springblade.system.user.entity.UserInfo["user"]->org.springblade.system.user.entity.User["sex"])]

    2021-02-27 15:09:56.816  WARN 9360 --- [ XNIO-1 task-70] o.s.s.o.provider.endpoint.TokenEndpoint  : Handling error: InvalidGrantException, 用户名或密码错误


    1 讨论(1)
  • 2021-02-26 17:07

    /oauth/token方法在如下类

    image.png

    另外看一下重置密码的代码是否更新成最新版

    image.png

    image.png

    作者追问:2021-02-26 17:47


    查看了下代码是最新的


    image.png


    image.png

    回答: 2021-02-27 12:36

    sha1Hex(md5Hex(data))

    作者追问:2021-02-27 14:06

    不好意思,上次追问的,搞错一个方法了,不是hex(String data) ,而是encrypt(String data) 


    image.png

    作者追问:2021-02-27 14:07


    代码是最新的

    /**
    	 * 用户密码加密规则 先MD5再SHA1
    	 *
    	 * @param data 数据
    	 * @return {String}
    	 */
    	public static String encrypt(String data) {
    		return sha1Hex(md5Hex(data));
    	}



    作者追问:2021-02-27 14:43

    发现奇怪的问题,新增用户是可以登录,但是新增用户的密码为123456与重置后的密码123456 数据库保存的都是一样:

    10470c3b4b1fed12c3baac014be15fac67c6e815

    0 讨论(0)
提交回复