All Projects → NeosIT → active-directory-integration2

NeosIT / active-directory-integration2

Licence: GPL-3.0 License
WordPress plug-in "Next Active Directory Integration"

Programming Languages

PHP
23972 projects - #3 most used programming language
javascript
184084 projects - #8 most used programming language
Twig
543 projects

Projects that are alternatives of or similar to active-directory-integration2

nsspi
A C# / .Net interface to the Win32 SSPI authentication API
Stars: ✭ 60 (+17.65%)
Mutual labels:  ntlm, sso, kerberos
WatchAD
AD Security Intrusion Detection System
Stars: ✭ 967 (+1796.08%)
Mutual labels:  active-directory, ntlm, kerberos
OpenAM
OpenAM is an open access management solution that includes Authentication, SSO, Authorization, Federation, Entitlements and Web Services Security.
Stars: ✭ 476 (+833.33%)
Mutual labels:  active-directory, sso, kerberos
go-spnego
Wraps gokrb5 and sspi libraries to provide cross-platform way to make HTTP calls with Kerberos authentication
Stars: ✭ 20 (-60.78%)
Mutual labels:  sso, kerberos
requests auth
Authentication classes to be used with requests
Stars: ✭ 28 (-45.1%)
Mutual labels:  active-directory, ntlm
proxyplease
Cross-platform proxy selection with optional native authentication negotiation
Stars: ✭ 37 (-27.45%)
Mutual labels:  ntlm, kerberos
pure-sasl
A pure python SASL client
Stars: ✭ 32 (-37.25%)
Mutual labels:  kerberos
modules
Mesos modules examples and open source modules outside of the Apache Mesos source tree.
Stars: ✭ 26 (-49.02%)
Mutual labels:  kerberos
Active-Directory-Object-Picker
The standard Active Directory object picker dialog for .NET
Stars: ✭ 74 (+45.1%)
Mutual labels:  active-directory
mailad
Software to provision a mail server with users from a Windows or Samba 4 Active Directory
Stars: ✭ 21 (-58.82%)
Mutual labels:  active-directory
sparcssso
Single Sign On System for SPARCS
Stars: ✭ 15 (-70.59%)
Mutual labels:  sso
keycloak-session-restrictor
Simple event-listener for Keycloak which restricts the current user sessions to one (last one wins) only. Demo purposes only!
Stars: ✭ 48 (-5.88%)
Mutual labels:  sso
py-hdfs-mount
Mount HDFS with fuse, works with kerberos!
Stars: ✭ 13 (-74.51%)
Mutual labels:  kerberos
flarum-ext-sso
🔒 Single Sign On for Flarum.
Stars: ✭ 59 (+15.69%)
Mutual labels:  sso
PSGPPreferences
A way to manage Group Policy Preferences through PowerShell
Stars: ✭ 15 (-70.59%)
Mutual labels:  active-directory
cracke-dit
cracke-dit ("Cracked It") makes it easier to perform regular password audits against Active Directory environments.
Stars: ✭ 102 (+100%)
Mutual labels:  active-directory
Crack-O-Matic
Find and notify users in your Active Directory with weak passwords
Stars: ✭ 89 (+74.51%)
Mutual labels:  active-directory
traefik-proxy
One-step (secure) configuration for Traefik edge router.
Stars: ✭ 20 (-60.78%)
Mutual labels:  sso
Yuna
Yuan企业通用后台,快速实现微后台架构
Stars: ✭ 19 (-62.75%)
Mutual labels:  sso
ldapconsole
The ldapconsole script allows you to perform custom LDAP requests to a Windows domain.
Stars: ✭ 25 (-50.98%)
Mutual labels:  active-directory

Next Active Directory Integration

Next Active Directory Integration allows WordPress to authenticate, authorize, create and update users against Microsoft Active Directory. Next ADI ist a complete rewrite of its predecessor Active Directory Integration. You can easily import users from your Active Directory into your WordPress instance and keep both synchronized through Next Active Directory Integration's features.

If you like this plug-in we'd like to encourage you to purchase a support plan from https://active-directory-wp.com/ to support the ongoing development of this plug-in.

Important requirement changes

As of 2021-12-09 NADI did no longer support PHP version < 7.4. The reason is that security support for PHP 7.3 and below has beeen dropped by the maintainers as you can see in the official PHP documentation http://php.net/supported-versions.php. For security reasons and in order to use NADI in 2022 we hereby politely encourage you to migrate your environments to at least PHP 7.4 until then.

Thank you all for your support and understanding.

Getting Started

You can download the ready-to-use version from the WordPress.org Plugin Directory or from the SVN repository hosted by WordPress.org.

If you are developer, you can also clone this Git repository inside the wp-content/plugins directory of your WordPress environment.

After the cloning you have to update the dependencies with help of Composer (execute composer install inside the cloned repository folder). To install composer follow the instructions on https://getcomposer.org/download/.

Development

Contributing

  • Pull request and changes must be made against the develop or a dedicated feature or bugfix branch. Name the branches either bugfix/${GITHUB_ISSUE_NUMBER} or feature/${GITHUB_ISSUE_NUMBER}.
  • Any changes must be added in the UNRELEASED section of the readme.txt for documentation purposes.

Release process

When releasing a new version, the changes from develop must be merged to main. main is automatically pushed to wordpress.org. The main version must be tagged accordingly (${MAJOR}.${MINOR}.${BUGFIX}) and then pushed. A new tag is automatically tested, gets then pushed to wordpress.org and will be released.

To create a new release, do the following:

  1. Switch the = UNRELEASED = header in readme.txt's changelog section to ${VERSION}.
  2. Create and push the new tag
git tag -a ${VERSION} -m "release of ${VERSION}"
git push origin ${VERSION}
  1. Checkout develop and prepend the = UNRELEASED = header in the readme.txt changelog section
  2. Push the changes in the develop branch

Referencing issues

Due to the development history of NADI, we have a combination of old Jira issues and newer GitHub issues. References to the old Jira issues stay as they are. For newer GitHub issues we are using the following format:

Documentation

For documentation purposes (e.g. references in readme.txt, @issue annotation in unit tests or a badge inside the official documentation), we use #${GITHUB_ISSUE_NUMBER}, e.g. #555.

Tests

Test methods are prefixed with GH_{GITHUB_ISSUE_NUMBER}_, e.g. GH_555_ for easier filtering. Each test method must have (as described before) the annotation @issue #${GITHUB_ISSUE_NUMBER} assigned.

Testing

Tests are made with PHPUnit 9.5 Get PHPUnit 9.5 with

# get PHPUnit
wget https://phar.phpunit.de/phpunit-9.5.phar

Running unit tests

cd active-directory-integration2
# run unit tests with default PHPUnit configuration
php ./vendor/bin/phpunit --testsuite "unit" --configuration phpunit.xml

Running integration tests

cd active-directory-integration2
# running integration test against a local install Active Directory instance
# executing the ITs with PHP binary is required for of passing environment variables to the test
php -d AD_ENDPOINT=127.0.0.1 -d AD_PORT=389 -d [email protected] -d AD_PASSWORD=Password -d AD_USE_TLS='' -d [email protected] -d AD_BASE_DN='DC=domain,DC=com' path/to/phpunit.phar --testsuite "integration" --no-coverage

Running all tests

cd active-directory-integration2
# running integration test against a local install Active Directory instance
# executing the ITs with PHP binary is required for of passing environment variables to the test
php -d AD_ENDPOINT=127.0.0.1 -d AD_PORT=389 -d [email protected] -d AD_PASSWORD=Password -d AD_USE_TLS='' -d [email protected] -d AD_BASE_DN='DC=domain,DC=com' path/to/phpunit.phar --no-coverage

Running all tests in PhpStorm

Run > Edit Configurations > Defaults > PHPUnit

  • Test Runner options: --test-suffix Test.php,IT.php
  • Interpreter options: -d AD_ENDPOINT=127.0.0.1 -d AD_PORT=389 -d AD_USERNAME=Administrator -d AD_PASSWORD=Pa$$w0rd -d AD_USE_TLS='' -d [email protected] -d AD_BASE_DN='DC=test,DC=ad'

Update translation

After changing the next_ad_int-de_DE.po you have to build the next_ad_int-de_DE.mo and next_ad_int-de_DE_formal.mo file.

# Execute this command inside the plugin root folder (with the index.php)
ant compile-all-languages
# or execute this:
ant -Dmsgfmt=/path/to/gettext/msgfmt compile-all-languages

Make sure that you have GNU gettext with msgfmt installed.

It is also possible to generate the next_ad_int-de_DE.mo with Poedit (or some other .po tool). You can create a copy from the next_ad_int-de_DE.mo file and name it next_ad_int-de_DE_formal.mo.

Continuous Integration

We are using GitHub Action for the CI/CD process. You can find everything related to CI/CD inside .github/workflows.

The branches

  • main
  • and develop

will be automatically tested.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].