RE: Unable to connect to MSSQL with PHP through a firewall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2004-01-29 at 21:57, Duane Lakoduk wrote:
> I came across this problem when I separated my web applications and database
> (sql 2000) onto separate servers.  The problem is that Windows does not
> (cannot) pass user authentication information to SQL server ... if they are
> different machines.  

I was under the impression that Windows did not have to send the
authentication information if you use the username and password
arguments in mssql_connect().  I'm not having to do anything different
on my Linux box.

> I used Mixed authentication and added user
> accounts/groups to sql server to authenticate at the database.
> Unfortunately, Windows doesn't support this when IIS and SQL servers reside
> on separate machines.  My understanding is that it will work in native AD
> environment using Kerberos delegation, but I have no way to test/validate
> that.

My options at the moment are a bit limited; AD and Kerberos are not in
my available list of authentication mediums.  Also, just to verify, I am
using Apache 2 on both the internal Linux box and the external Windows
box.  IIS is fortunately (or unfortunately depending on your point of
view) not part of the equation.

> Change your connection to use SQL authentication and you will be able to
> connect to SQL just fine.

I've been using SQL authentication.  Using Windows authentication was
time prohibitive even during development internally, so we made sure we
setup the server with mixed mode.  It works just fine this way when
connecting from the Linux box on the internal network.

> Your connectionstring should look something like this:
> "PROVIDER=SQLOLEDB.1; Persist Security Info=False; Data Source=<ip or
> servername>; Initial Catalog=<database>; UID=<sql_login>; PWD=<password>"

I'm unfamiliar with this kind of connection string.  This is how I
connect:

$sqlConnect = mssql_connect($sqlHost, $sqlUser, $sqlPass) or die("Could
not connect to database: ".mssql_get_last_message());

> Give the sql login the necessary rights to do what the application needs to
> do.

I've even tried 'sa', no luck.

-- 
Ricky Boone <whiplash@xxxxxxxxxxxxxxx>
Planetfurry.com

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux