Skip to content

Extension for Nette Framework: NTLM authenticate for authenticator

License

Notifications You must be signed in to change notification settings

SiViN/ntlm-http-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Total Downloads

NtlmHttpAuth

  1. Install via composer
composer require sivin/ntlm-http-auth
  1. Register extension in config.neon:
extensions:
	ntlmHttpAuth: SiViN\NtlmHttpAuth\DI\NtlmHttpAuthExtension

3, Tell which presenters should not be secured (in case no presenter name given, all presenters are secured). Format - Module:Presenter:

ntlmHttpAuth:
	excludedPresenters: [Front:Nonsecured] # Exlude presenter class App\FrontModule\Presenters\NonsecuredPresenter

4, Implement SiViN\NtlmHttpAuth\INtlmAuthenticator to your authenticator Inconfig.neon:

services:
	authenticator: NtlmAuthenticator

File NtlmAuthenticator.php:

class NtlmAuthenticator implements \Nette\Security\IAuthenticator, \SiViN\NtlmHttpAuth\INtlmAuthenticator
{
    function authenticate(array $credentials)
    {
        ...
    }

    function ntlmAuthenticate(\SiViN\NtlmHttpAuth\AuthenticateResult $authenticateResult)
    {
        if($this->LdapOrDbOrSomething($authenticateResult->username, $authenticateResult->domain, $authenticateResult->workstation))
        {
            return new \Nette\Security\Identity(...);
        }
        else
        {
            throw new \Nette\Security\AuthenticationException('User not found', self::IDENTITY_NOT_FOUND);
        }
    }
}

About

Extension for Nette Framework: NTLM authenticate for authenticator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages