IIS 7.5 need to connect windows authentication to my active directory - active-directory

I am using iis 7.5 and I need connect authentication to my spring app on jboss 7.1.1 via my active directory with the windows authenticated user.
It should check the windows user is valid in ad.
How can I do this?

If you want following scenario:
user pass authentication in windows
when user opens web application then it will be authenticated automatically (no need to type windows login / pasword twice).
then Spring Security KERBEROS/SPNEGO extension is way to go. See this blog entry for details.
If you want to have a login page (where your users can retype their windows credentials) then you can set up and use a special ActiveDirectoryLdapAuthenticationProvider in your Spring Security config.

Related

SSO Implementation for Desktop and Web Application with Windows Credential

I have a windows application and a web application. Both are having a different login screen. Is there a way to implement SSO with the help of windows credential so that user don't need to login again for accessing the applications.
Note : I am new to ADFS , Domain Controller and SSO so don't have much idea on how that works.
Any leads is appreciated.
you can implement SSO for your corporate/internal/on-premises application using Windows Active Directory and Windows Authentication. A Domain Controller stores the Windows Active Directory database. ADFS will help you extend your Identity and SSO capabilities trusting 3ra party Identity providers. E.g. Azure AD. With this you will be able to access applications in both networks with a single set of credentials.

Kentico website with Windows Active Directory authentication and authorization

I installed a Kentico 9.0 website and everything worked fine. Then I tried to configure Windows Active Directory authentication using this documentation: https://docs.kentico.com/display/K8/Configuring+Windows+AD+authentication. However, when I open the URL, the login popped up, I used my working login credentials and the login pops up back constantly.
I changed back the web.config and saw the event log, and there was nothing logged about my numourous login attemps.
The documentation was straight forward, so I am guessing there is a permission issue in my environment. There is one little warning in the documentation but it doesn't say how to do it:
Prerequisite
For Windows authentication to work, the application must be able to access the following attributes of user objects in Active Directory (i.e. the attributes cannot be protected or confidential):
memberof
userAccountControl
My application is in a virtual server in a domain. And the Active Directory service is in different server in the domain. Does it mean I need to do something for my application's permission to AD? I am using NetworkServices application pool identity.
Thanks.
You (your laptop) have to be in company intranet and logged in to your laptop with your AD credentials. If you meet those conditions IE or Chrome should not even prompt you for credentials as they are already known, so browser just passes your AD account information to Kentico.
Once you see the prompt continuously there is something wrong with your setup. Make sure
you configured everything according to documentation (Kentico + IIS)
server/host is in domain
you're in intranet and logged in with AD creds
Usually how Active Directory authentication works is you need to pass it a AD Username and password that has access to read the users. I would check that user's permissions.

SAML TAI SSO with WebSphere Portal Server 7.0 excepts user in registry

We have Salesforce as IDP, WebSphere Portal v7.0 as SP. Our users are only available in Salesforce. From IBM, we came to know that Portal 7.0.0.2 does not support non availability of user in registry in terms of SAML whereas this feature is supported in WebSphere Portal 8 and 8+. SAML TAI happens properly, means any application deployed on WAS, SSO happens properly. Problem arises when we try to access WebSphere Portal. We get an error message that unable to find the user ID, even though it is available in the Subject.Now as a workaround, we need to create a user in Portal registry once SAML response is received. HAs anyone create a user on the fly in Portal registry through TAI or JAAS modules ?
You need to provide the User identities within the UserManagement system. WebSphere calls it VMM. It provides a pluggable infrastructure where you can trust the external users.
The function you have in Portal 8 and 8.5 had been developed first as an add on for Portal 7. Below is the link to it.
OpenID WebSphere Portal v7

How does the ADFS know that you are logged in?

So we're working to implement SSO. We are using an Active Directory Federation Server to 'tell' our website that a user is logged in via his Windows machine.
So the flow is like this
1. http://ourwebsite.com --> redirects to:
2. http://adfsURL.local --> will know that I am logged in to my Windows machine and passes me the token for:
3. http://ourwebsite.com --> I'm logged in now
What I fail to understand is how step 2 knows that I am logged in. It is just a URL that I go to, so a webserver catches this and then what? Does it check the IP address of the request and then check if there's a user logged in from that IP? Or do I misunderstand something else completely?
It uses Integrated Windows Authentication - see here and here. (Kerberos).
"Unlike Basic authentication, Integrated Windows authentication does not initially prompt for a user name and password. The current Windows user information on the client is used for Integrated Windows authentication. If the authentication exchange initially fails to authorize the user, Internet Explorer prompts the user for a Windows account user name and password, which it processes using Integrated Windows authentication. Internet Explorer prompts the user for the correct user name and password up to three times.
If, however, the user has logged on to the local computer as a domain user, then no authentication is required when the user accesses a network computer in that domain."
For this to work, the browser has to be configured correctly.
Refer : Windows Integrated AuthN.
So what I've found is that for URLs that are in the 'local zone' of your PC, browsers will actually support sending over login information to the server of that URL, if the server requests such information.
It's called NTLM, and browsers will use it to login to a server using your Windows 'credentials' (not your username/password but some token).

Active Directory and User Management

I'm very new to LDAP and Active Directory and I'm probably understanding something completely wrong.
I know ASP.NET Identity and forms authentication (however, I'm also quite new to that) and my question is actually if it is possible to use certain features you can use with forms authentication (explanation further below) with Active Directory.
I'm building an MVC web application and I'd like to authenticate my users against Active Directory. That would be possible with ADFS. The template you get when using ASP.NET Identity in VS2013 uses passive authentication. Is it however possible to not do this redirect to the Active Directory domain but create a custom login page for the user?
Is it also possible to do user management with Active Directory like that is possible with forms authentication? I was thinking about:
A page where the user can register himself
Ability for the user to change his password (I know this is possible with ADFS, but the user may not be logged in. I want him to do this when he's logged in, with a self-made page.)
Logging in on a new computer should ask for a code specified in an email
Set up password policy in the application
... (Other things that I might have forgotten)
When these things aren't implicitly possible with Active Directory, please advise on how to configure the application to acquire this functionality (when possible with Active Directory).
Thank you very much in advance for helping me!
EDIT 1:
To leave my question not too open, I maybe better just start with that custom login page. When I understand it well, the normal flow when using ADFS to authenticate your users against is:
A user tries to access a web page of an application for which he needs to be authenticated
(Passive) redirect to a login page provided by ADFS -> user enter his AD credentials
ADFS returns token
Token is sent to the web application (that ADFS trusts)
When the web application thinks everything is ok, it stores an authentication cookie in the user's browser (I guess), and the user can access the web page
What I would like:
A user tries to access a web page of an application for which he needs to be authenticated
Redirect to a login page of that same web application where the user can enter his credentials
The entered credentials are sent to ADFS (I guess) and it returns something (a token?) with information about whether the login succeeded or not (This step could be preceded by a call to some (self-made) service (a Web API application) that multiple client applications could use for their authentication against the same directory)
When the login succeeded, the web application stores a cookie in the user's browser and the user is able to access the page
I don't know if that makes sense? I'm just wondering how companies that use Active Directory to store user information can still have a custom login page, registration page and other user management stuff. (Or don't they use AD but do they just have their own databases?)
Normally if you want a custom login page you use an ADFS active profile implementation (e.g. WCF) to do the authentication.
User provisioning is not part of ADFS. To do this you need an Identity Manager e.g. PingFederate, OpenIDM.
If you are using ADFS 2.0 or 2.1, you can customize the pages (because they run on IIS) and add these features or redirect to a separate website which does.
Most of what you want is OOTB AD functionality. Refer: Everything in Active Directory via C#.NET 3.5 (Using System.DirectoryServices.AccountManagement).
Password policy can be extremely complex. I don't know of any API's that explicitly do this.
If you are using ADFS 3.0, these is no ISS so you are pretty much out of luck.
It's not really an answer to my question here, but if someone is interested in what I eventually did: you can read it (very briefly) here.

Resources