How to use windows authentification with php / symfony - php

I work on a Symfony application intranet.
I heard about the possibility of using the authentication window rather than having to log in using a conventional authentication window.
Could someone could give me 1 or 2 link addresses on the subject? I searched for myself but I can not find the right keywords.
Is he is WSSE?
Thank you in advance!

If you run your PHP application on an IIS instance on a windows server which is in an AD togheter with the other computers which uses this application you can turn off access for the website in your IIS interface for "Anonymous" users.
Afterwards you can check against one of the $_SERVER['AUTH_USER']/$_SERVER['PHP_AUTH_USER'] variables in PHP which contains domain\user information. You don't even need to show any login dialogue. So it's a SSO (single sign on) process then.
See the link below for more information about this:
http://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/enable-php-applications-to-make-application-level-access-control-decisions

If what you call "identification window" is the small alert on which you must type id and pass rather than an HTML form, you just have to take a look in direction of htaccess and htpassword as this small windows is the result of a htacces protection.
See here (eg):
http://www.seas.upenn.edu/cets/answers/auth-htpasswd.html
Best regards
Peter

Further to TiMESPLiNTER's comment above
On our IIS setup (IIS 7.5) the relevant server variable is $_SERVER['AUTH_USER'] so if it doesn't work at first try using phpinfo() to find the right variable for your site.

Related

What are the steps to do a single sign-on in iTop with the web server on Windows?

I want to make a single sign-on in iTop. The environment of web server is running on Windows, and I want the authentication to be transparent to the end users
I read this itophub wiki page on user authentication options first. I understand that the authentication type must be external (please tell me if my understanding is wrong)
And I read this note:
Single Sign-On on Windows
Since iTop uses the PHP variable $_SERVER['REMOTE_USER'] to identify external users, this becomes really simple if your web server is running on Windows. Using IIS you can rely on the Integrated Windows Authentication and if using Apache you can use the sspi_auth_module. Both will set the variable $_SERVER['REMOTE_USER'] to the authenticated user as “DOMAIN\USERNAME”. Simply create your External users names the same way: DOMAIN\USERNAME and the iTop authentication will be transparent to your end users
I understand this note but I don't know what I should do exactly. I mean, how can I implement it?
I do not have enough information about this subject. Any help is appreciated.

Not able to connect Php application with SharePoint

I am a php developer have no experience with Share Point. I have follow these two links to get Data from Share Point into my Php application.
stackoverflow question here.
A Library for Share Point here.
Share Point team give me 2 IP address. What they said is, I have to login at Forti Client with first IP then second IP is used to access application in browser which is also prompted for Credentials. If I not login in Forti Client with first IP, Web Application will not work at all. One more thing is, this process is working well in windows system but not working on ubuntu (Linux).
So, My Php applications are running on AWS linux ( ec-tier ). I have to get data from Share Point.
I just want to know is it possible to get data from Share Point into my application.
If it is possible then what is the process that I should follow in order to get data.
Kindly help me with your suggestions/answers. Thank you.
Hope these links help you out.
Forti Client CLI for Linux click here.
Shell Script To Use CLI click here.
Is it a SharePoint List or Document library?
If it's a list, use web API to call for the required info.
Refer to my answer in this post:
how to add a connection to a sharepoint list to a word addin

Is there any short-cut to serving php pages in localhost?

I have a project using WAMP/EasyPHP and I want to produce it to my client as a standalone app so that he just needs one click to access the web page locally instead of running the WAMP/EasyPHP server and typing the IP address in the address bar etc. I hava Googled and found many solutions like phpdesktop, nightrain etc, but I want to use my existing technologies as well as my code. I want to know whether is it possible to create an executable which serves as an icon and upon clicking which starts the server(WAMP or so) and also instantly evokes the browser to fetch the URL of my application.
It sounds like you would be better off making a website here, that is what PHP is best at after all. If you have not already I suggest picking up a background text such as this one: http://shop.oreilly.com/product/9780596157142.do to give you the basic knowledge but it should basically be a case of getting a hosting package, uploading your files and your database. Then you just need to add authentication so that only your client can see the website.
However if you have your heart set on a desktop app, I suggest: http://www.tidesdk.org/ it will be a more complex solution but allow you to build an app along the lines outlined here, just bear in mind that the first option is probably easier than this.

Authenticate a PC before running my website

I'm making an web application, it's a kind of online shop using PHP, jQuery, AJAX and JavaScript.
I want to launch my site on only one PC on local host. How should I set my site so that it only runs on my single PC?
Even if anybody copy my code files and database files to his/her own PC it should not run on their PC. How to do this?
The one way I know is by using the IP address. but I not quite sure about this method works or not.
If someone gains access to your source code then there is nothing that you can do to stop them.
When hosting it on your own you can prevent external access but beyond that there is nothing you can do.
You can use an encoder script to encrypt your source code, and some of these come with an ability to lock down to MAC address. I think they are all commercial solutions, though; start with IonCube and SourceGuardian. Zend might have something as well.
I would imagine each of these solutions would have comprehensive tutorials on their respective sites. Your workflow is basically to check out a copy of your source code from version control, and encode that folder as part of your build process.
Technically, encrypted code can be reverse-engineered, since the encryption key is built into the code. However, it is a lot of work for someone to do so, and even if they decode it, they won't have your comments or your meaningful variable/method/class names.
Make sure no one gains access to that PC (where your application resides). Only in that case you can protect your application from being run by unauthorized person. Once you take this security measure then you can easily disable your application from being accessed from any other LAN computers by using your IP. This is how professional servers works so should you.
You can change the webserver binding to localhost 127.0.0.1 only.
Alternative way you can create a filter rule that the server only accepts remote from localhost/127.0.0.1
With apache you can do this by .htaccess or directory/server rules.
When you want to share that code, you need to encrypt it with zend-guard or equal tools. there is also some licence management inside it, where you can bind licences to machines.

Filemaker with PHP

Im using Filemaker API in PHP to retrieve the records from Filemaker Pro 11 Advance Database.
But its showing error:
Error: Communication Error: (22) The requested URL returned error: 404 - This can be due to an invalid username or password, or if the FMPHP privilege is not enabled for that user.
Though I have set all Extend Privileges and gave it to user.
Please anyone can help me...
Although you mention you've taken care of this, whenever I've come across this problem it's been because the user being used to log in with PHP doesn't have the fmphp extended privilege set.
First know which user you're trying to log in as in PHP. Then, in FileMaker choose File>Manage>Security from the menu bar. Take a look at the Accounts tab and note the privilege set assigned to your web user. Click the Privilege Sets tab and double-click on this privilege set in the list. In the Extended Privilege list on the bottom right make sure there is a checkbox next to "Access via PHP Web Publishing".
While you're there, double-check the password you're working with. It has to be either you're not working with the right extended privilege set or you're not logging in with the right credentials.
I am pretty sure you must have resolved this by now but if you have not here is another suggestion. I had the same issue today and had all the extended privileges set.
The issue was with FileMaker API. Make sure the Php FM API being used is of the same version as the FileMaker server in which your db is hosted. FM Server 11 will require API released for FMS 11. I was using the last standalone API released for FMS 9 and hence it did not work. On updating php to FMAPI 13 I was able to connect and get the layouts.
The FileMaker API for PHP package was included as a .zip file in the following location:
For IIS (Windows): drive:\Program Files\FileMaker\FileMaker Server\Web Publishing\FM_API_for_PHP_Standalone.zip
For Apache (Mac OS): /Library/FileMaker Server/Web Publishing/FM_API_for_PHP_Standalone.zip
Double check your connection params, it should look something like this...
// filemaker server connection param
$connection =& new FileMaker('DBName', 'http://www.domain.com');
$connection->setProperty('username', 'youruser');
$connection->setProperty('password', 'yourpass');
First, check if the PHP API is installed and running.
On the server, go to http://localhost - You will see a screen telling the PHP API is running. If you see something else, you probably have to dig into the installation of the PHP API - possibly redeploy the server and checking off the PHP API. See that the server passes the web-server test.
Next, Check that the user that logs on to the server has the right privilege set. We usually create a second account for the PHP API, where the privileges are set correctly to MODIFY records, and VIEW Layouts, and of course have the fmphp attribute set.
If you still cannot connect, try from the web-server to do a
wget http://fmhost_ip/
cat index.html
see that you get something that can resemble a FileMaker API running page (look at the HTML code output).
Make sure you get the "FileMaker Database Server Website" landing page on the url (without the /fmi/... address), My issue was using another domain/sub-domain that IIS was using for another website.
I know this is really old. But in addition to the ISAPI fix. I needed to add a URL rewrite rule. The pattern needed to be:
^fmi/(.*)
And the rewrite URL needed to be:
http://localhost:16020/fmi/{R:1}
With those in place, the PHP API started working again.
after a few hours trying i found a solution to comunicate the php with the IIS... on your IIS manager, just need to add to your default web site, in ISAPI Filters, and add this executable... "C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\web-server-support\iis\isapi_redirect.dll" - with anuy name

Categories