Jump to content
Facebook Whatsapp Twitter Youtube

Correção da falha de autenticação Authd


ventura
 Share

Recommended Posts

As principais razões para a "queda" authd é:
1. Codificação.
2. Login muito longo.

A solução de codificação já existe

Vamos falar sobre como eles conseguem a queda do ause através de um login muito longo?
Aqui o cálculo é que um erro de driver JDBC será causado.
Ao verificar o login e a senha, o auz chama a procedureadquireuserpasswd, que repassa o login.
A estrutura do procedimento especifica que o comprimento máximo de um login varchar(64) é de 64 letras.
Quando um nome de usuário é inserido com mais de 64 letras, obtemos um erro e o auz desaparece.

Da o seguinte erro:

Citar

GQueryPasswd:account is 545y54y5454y5454y545y454y5454y5454y545y454y5454y5445y454y5454y5454y54 , login ip is 192.***.***.***
Prepare procedure call:{call acquireuserpasswd(?,?,?)}
acquireIdPasswd exception:account=545y54y5454y5454y545y454y5454y5454y545y454y5454y5445y454y5454y5454y54
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name1' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3556)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2077)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1356)
at com.mysql.jdbc.CallableStatement.execute(CallableStatement.java:877)
at application.procedure.handler.execute(handler.java:197)
at org.mono.StorageEx.acquireIdPasswd(StorageEx.java:319)
at protocol.MatrixPasswd.Server(MatrixPasswd.java:65)
at com.goldhuman.IO.Protocol.Rpc.Process(Unknown Source)
at com.goldhuman.IO.Protocol.Task.run(Unknown Source)
at com.goldhuman.Common.ThreadPool.run(Unknown Source)

Não há nada sério no erro em si  é um aviso de que o login é muito longo. Mas, ao mesmo tempo, o desempenho da autenticação (login) cai.
A solução mais simples é remover essas exceções.

Solução

Abrindo o arquivo table.xml
Encontre a linha com a senha do banco de dados.

Nele, você precisa alterar a codificação utf8 para ascii, isso resolverá o primeiro problema.
E adicione &jdbcCompliantTruncation=false - desativar erros de frenagem.

 

Ficando assim

<connection name="auth0" poolsize="3" url="jdbc:mysql://localhost:3306/pw?useUnicode=true&amp;characterEncoding=ascii&amp;jdbcCompliantTruncation=false" username="root" password="SENHA_DB"/>
 

  • Curtir 1
  • Amei 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Create New...