Comments (11)
That's also the reason I'm currently not using the vertx-mssql-client: 99% of my customers use Windows Server and they mostly prefer named instances with Windows authentication as opposed to classic user/pwd SQL Server authentication.
I'm using the mssql-jdbc driver with blocking calls and it's doing quite alright so far. One idea that I have, is to possibly switch to a dedicated worker verticle with a ThreadingModel.VIRTUAL_THREAD
threading model. I wonder if that'd yield any benefits.
In my case, I'm using the mssql-jdbc_auth-<version>-<arch>.dll
that provides the required Kerberos auth routines, however and as described by Microsoft [1], it should be possible to use the Krb5LoginModule [2] as well, and I believe this could be in fact the best possible variant to add Windows authentication support to the vertx-mssql-client.
I hope I can get some time to look for a way to help adding this in the future. It'd be an interesting project.
1 - https://learn.microsoft.com/en-us/sql/connect/jdbc/using-kerberos-integrated-authentication-to-connect-to-sql-server
2 - https://docs.oracle.com/javase/8/docs/jre/api/security/jaas/spec/com/sun/security/auth/module/Krb5LoginModule.html
from vertx-sql-client.
verify how the contribution can be tested
As someone who has dealt with Kerberos and SQLServer, last I tried, SQLServer requires an Active Directory environment when using Kerberos. This makes it difficult to test with TestContainers, since even if the SQLServer instance is on Linux, the AD domain controller needs to run on windows. It may be possible to get it working with Samba's AD domain controller, but I couldn't justify the time investment to get it working.
from vertx-sql-client.
Can you let us know a date that we can communicate to our clients?
from vertx-sql-client.
I'm afraid there is no planned date, even though we'd like to have this feature. We have neither the knowledge of the protocol nor the resources required to test its implementation.
If you're willing to contribute it, I would be glad to help.
Otherwise, I can suggest some alternatives: switching to vertx-jdbc-client
, or given you're a Hibernate user, switching to a blocking persistence layer.
from vertx-sql-client.
I'm afraid there is no planned date, even though we'd like to have this feature. We have neither the knowledge of the protocol nor the resources required to test its implementation.
If you're willing to contribute it, I would be glad to help.
Otherwise, I can suggest some alternatives: switching to
vertx-jdbc-client
, or given you're a Hibernate user, switching to a blocking persistence layer.
Hi,
We are creating a project that contains a sample representative of our application. Once that is done, it will be shared shortly. Please let us know if we are making any mistake in creating a blocking persistence layer.
In the meantime, do let us know how to contribute. We will discuss with my development team and work out our timelines to see if we are able to understand, contribute and deliver to our clients at the earliest.
Kind regards,
from vertx-sql-client.
I'm using the mssql-jdbc driver with blocking calls and it's doing quite alright so far.
...
In my case, I'm using the mssql-jdbc_auth--.dll that provides the required Kerberos auth routines
Can you provide the code and/steps to implement the Kerberos auth routines?
from vertx-sql-client.
We are attaching a demo project which demonstrates our application architecture to a small extent to reproduce the errors we're getting. This project attachment is giving a runtime error whereas in our actual application its a compilation error, we are attaching both errors as snapshots, we expect that if either of the error is fixed the other would also be solved.
Below is the demo application
persistenceUnit_Error.zip
the compilation error in our actual application is
the runtime error wrt this demo application is
this is runtime error when we disable reactive datasource using quarkus.datasource.reactive=false in our application.properties file
The solutions we used by far involved using @PersistenceUnit to attach our entity/model to a specific data source, made two different entities one to map if persistence is done using jdbc and depending on the flag value set in application.properties persistence through our data service layer would either happen from jdbc persistence side (jdbcEntity,jdbcService,jdbcRepo classes) else the usual/preffered reactive side.
from vertx-sql-client.
I'm afraid there is no planned date, even though we'd like to have this feature. We have neither the knowledge of the protocol nor the resources required to test its implementation.
If you're willing to contribute it, I would be glad to help.
Otherwise, I can suggest some alternatives: switching to
vertx-jdbc-client
, or given you're a Hibernate user, switching to a blocking persistence layer.
Hi @tsegismont ,
Please provide the blocking persistence layer option. Let me evaluate this option.
Thanks & Regards,
from vertx-sql-client.
Please provide the details on how to contribute. We would like to evaluate it with our existing timelines.
Kind Regards,
from vertx-sql-client.
@git4rputuval the firsts steps would be to:
- clarify which auth scheme(s) you plan to contribute (I'm a bit lost between NTLM, Kerberos ...)
- verify how the contribution can be tested (we need to be able to test it to support it)
from vertx-sql-client.
@git4rputuval the firsts steps would be to:
- clarify which auth scheme(s) you plan to contribute (I'm a bit lost between NTLM, Kerberos ...)
- verify how the contribution can be tested (we need to be able to test it to support it)
Hi,
I wish to contribute to NTLM in reactive extension (To be specific in GitHub, refer quarkus-2.7\extensions\hibernate-reactive).
To test, you need a domain-based Windows login system (Laptop or Desktop or VM). This is not possible in my development environment because we do not have domain-based windows login in our company.
What we do/plan to do is
- Deploy the application in the client UAT environment which employs domain-based windows login.
- Add a domain user in the SQL Server with "windows-authentication" activated.
- Configure the "reactive-url" in the application properties to include "domain name" and "integratedSecurity=true"
- Login into the client UAT environment using the domain user created in step 2
- Start the application
The application should start without any issues. The application should cater to data requests without any issues.
from vertx-sql-client.
Related Issues (20)
- Support for Oracle collections HOT 14
- Remove Oracle Client from tech preview HOT 1
- Connection error using virtual threads HOT 3
- CascadeTest fails with Hibernate Reactive 2.0 and Vert.x 4.4 HOT 1
- NullPointerException in PgDecoder.decodeError() HOT 1
- PgSubscriberImpl.fetch() not implemented HOT 3
- PgSubscriberImpl silently does not register exception handler HOT 1
- authenticationScheme, integratedSecurity and trustServerCertificate param in sql URI is not effective HOT 1
- Cursor .close() not finishes in case of multiple close attempts
- PGClient not correctly handling SSL MODE ALWAYS HOT 1
- [MySQL] errors during test for graal native-compile project
- Sql Client always disables HostnameVerificationAlgorithm HOT 13
- Call Function with INOUT-Null-Value HOT 2
- MySQLConnectionImpl.resetConnection() does not clear PreparedStatementCache HOT 1
- Event loop blocked inside vertx-pg-client during DNS resolution HOT 12
- Update to SCRAM 3.0 and support channel binding HOT 1
- SQL Server has closed connection unexpectedly if sql request size more then package size and it is chunked (probably only together with ssl) HOT 4
- Memory leak in Aurora Postgres since 3.9.1 HOT 4
- MySQL client does not use providers by default available in FIPS-enabled environment HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vertx-sql-client.