How to configure ejabberd to use SQL Server with integrated authentication? - sql-server

I currently am using ejabberd connected to a Microsoft SQL Server database. I am using a SQL Server login with username/password, per the documentation here: https://docs.ejabberd.im/admin/configuration/database/#microsoft-sql-server
How can I configure the ejabberd SQL Server storage to use SQL Server integrated security instead? I've not found documentation yet to address this.
A couple of ideas I have are to have the ejabberd service run as a kerberos/AD account, and configure the sql_server option as an ODBC connection string and use the integrated security option. Or to define the sql_username as the integrated login name, but remove the sql_password option.
Has anyone else tried doing this?

Related

SQL Server distributed login with windows authentication

I am new to SQL Server, I am planning to build a distributed application in Java for SQL Server. I am curious to know that if there is a way to handle the following scenarios:
UserA logs in on MachineA and chooses Windows authentication as credentials in app. My application's 2nd component is on MachineB (components communicate using RESTful web services) and MachineB has SQL Server installed on it. MachineB has the code to connect to SQL Server.
I want to know what are the steps to make this happen, is it possible to use windows authentication here?
UserA logs in on MachineA and uses Windows authentication, code to connect is on MachineB and SQL Server is on MachineC. What are the required steps here to make this happen, connection string and if I need to make any domain etc.
Assuming all machines are on the same DOMAIN, yes it will work. You may need to configure Kerberos (SetSPN) to make sure the service is trusted. You should check Microsoft® Kerberos Configuration Manager for SQL Server® from Microsoft. If Java is used from a Web site, you will also need to configure a SPN for this service as well. When it's all configured, To connect using Java, your ConnectionString should look like this:
jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;
Hope it help.

Remote access to Microsoft SQL Server 2012 with JDBC: alternative to username/password authentication?

I want to access a remote Microsoft SQL Server 2012 database from a Java web application (JSP and surrounding classes) using Microsoft JDBC Driver 4.0. I was told the username/password for the database, but would prefer not storing the verbatim password as part of the web application's configuration.
Does Microsoft SQL Server 2012 support another authentication method where I could pass e.g. some kind of service token instead from a remote (not necessarily Windows-based) host, and more generally, what are best practices for storing and configuring database access configuration parameters in such a scenario?
From a Windows box in an Active Directory (AD) environment, you can use integrated security. This will connect to SQL Server using the AD security credentials of the current process (Windows account).
Specify integratedSecurity=true instead of user name and password in the connection string. See Building the Connection URL for more information.
SQL Server also supports Kerberos authentication using the Microsoft JDBC driver for Linux as specified with the authorizationScheme connection string keyword.

How can I use an Active Directory login in Microsoft Access linked to SQL Server?

We have a client who uses MS Access to manipulate data in their SQL Server DB. I know that we can set up SQL Server to authenticate using Active Directory. If we set this up, can they use their AD logins to connect to SQL Server through Access? How?
I tried Googling this, but to no avail. Any links or direction would be much appreciated. Thank you.
Also, please direct me to the correct place, if I should ask this question elsewhere.
Yes this should be pretty straight forward. You can use Windows Authentication to connect to sql server.
When establishing ODBC connection from your Client, The Wizard for connection configuration to SQL Server takes you to a page which gives you options to choose how you want to connect to SQL SERVER. There you can choose to use Windows Authentication or SQL Server Authentication. You can choose the Windows Authentication Option.
Now when a client tries to connect to the SQL Server their windows credentials will be used to authenticate the user. And obviously if they are on a network their AD Account will Authenticate them.
See below a snapshot from ODBC Data Source Administrator wizard when configuring connection to sql server.

Microsoft SQL Data Sync Agent: Server and Database

I'm struggling with Microsoft SQL Data Sync Agent, which I need to setup the windows Azure platform.
In the ms sql data sync agent preview, the "Ping Sync Service" is successfully executed.
My windows firewall is allowing ingoing via port 1433.
The problem is, when I want to "Register":
First, I'm not sure that I enter the correct "Server" and "Database" names.
Second, I'm not sure whether I should use "SQL" or "Windows" Authentication
Third, how do I ensure that the Client Sync Agent has appropriate rights to the database?
Among alot of other trials, my best guess is:
Server " .\SQLEXPRESS"
Database "SiteSqlServer"
but still I get the following 2 error messages:
1) Unable to connect to the Database. PLease check if service account has connectivity, credentials and permissions to connect. Server: "XXX\SQLEXPRESS". Database: "SiteSqlServer".
2) Connection faild. Please check database credentials along with permissions for Microsoft SQL Data Sync Windows service logon account to connect to database with specified credentials.
Other reasons for failure:
Windows Azure SQL databases have to be added on the SQL Data Sync portal.
SQL Server databases lower than SQL Server 2005 SP2 are not supported on the SQL Data Sync.
I'm using: dotnetnuke CMS system and Microsoft webmatrix.
Any idea on how to proceed from here is warmly welcomed!
Thanks!
It seems you are trying to sync SQL Azure with SQL Express which is not supported and not tested. That's why when you try as described above you get that error. Based on my experiences there are issues using with SQL Express and SQL DataSync and SQL Express is not listed helow:
http://msdn.microsoft.com/en-us/library/windowsazure/hh456371.aspx
There are a few articles on internet where a few folks who went ahead and hacked the system to work with some vers'on of SQL Express so you are your own if you wish to try further. An article I found is here:

Connecting Grails to MS SQL using trusted Connection

I have account set up on SQL Server such that it uses my Windows authentication to connect to SQL Server.
Is there a way I can set up trusted connection to connect to MS SQL in Grails.
I am using :
Grails 2.0.1
SQL Server 2008
Unix
Thanks
If you're using the jTDS JDBC driver (if not, I would suggest it over the MS driver), the README.SSO file included in the jTDS distribution describes how to configure trusted/single-sign-on authentication. There is a native DLL that needs to be made available to the JVM for SSO to work. Note that the DLL is Windows-only, so you wouldn't be able to host your Grails app on Unix.
Another possibility would be to specify your Windows AD domain, username and password in your jTDS connection string. See http://jtds.sourceforge.net/faq.html#urlFormat specifically, the domain property:
domain
Specifies the Windows domain to authenticate in. If present and the user name and password are provided, jTDS uses Windows (NTLM)
authentication instead of the usual SQL Server authentication (i.e.
the user and password provided are the domain user and password). This
allows non-Windows clients to log in to servers which are only
configured to accept Windoes authentication...

Resources