66 Commits

Author SHA1 Message Date
Johannes Meyer
7b99b74ae1 Prefer Icinga\Application\Config instead of Zend_Config
refs #7147
2014-11-07 13:53:03 +01:00
Eric Lippmann
16352fc10c Move Logger to the Application namespace
fixes #7148
2014-10-31 10:27:17 +01:00
Eric Lippmann
424cee6b4a Auth: Load user groups using the new user group backends 2014-10-20 13:43:40 +02:00
Eric Lippmann
f1d3b72f05 autologin: Fix externally-authenticated users still being authenticated after external authentication is disabled
The if condition for revoking authentication if the username changed relied on having the `$_SERVER' variable set which was used for authentication.
Authentication is now revoked if the username changed or external authentication is no longer in effect.

refs #6462
2014-09-18 15:20:46 +02:00
Eric Lippmann
794910256a Use User::can()' in hasPermission()' of the authentication manager 2014-09-18 14:57:24 +02:00
Alexander Klimov
45638b218c Throw IcingaException rather than Exception
fixes #7014
2014-08-27 16:03:15 +02:00
Marius Hein
56a29354d3 AutoLogin: Check the remote username against logged in user
fixes #6462
2014-07-30 12:54:08 +02:00
Marius Hein
e2c761a7aa AutoLogin/Logout: Remove own session namespace
Store data in the user and implement interface to left
backends store remote information.

fixes #6461
2014-07-30 12:35:55 +02:00
Eric Lippmann
294728ac47 Revert "Autologin: Test logged session against remote user"
This reverts commit 64954e99244f26cc6b6dccc7d60a253c105bd550.

If the strip_username_regex is configured on the autologin backend and applies on a user's name,
the authenticated user's username does never match the REMOTE_USER server variable.
Thus the application will logout/login on every request which results in a redirect loop.

refs #6462
2014-07-29 17:50:44 +02:00
Marius Hein
64954e9924 Autologin: Test logged session against remote user
fixes #6462
2014-07-29 12:06:43 +02:00
Marius Hein
8b9d446d2e Autologin: Remove deprecated autologin methods
Remove methods from manager because autologin
is now handled with special backends (AutoLoginBackend).

The session is used to store the status about a remote
user authentication to send a 401 header to the client
upon logout.

refs #6461
2014-07-29 10:48:57 +02:00
Johannes Meyer
b40027b6c7 Purge session when logging out
fixes #6739
2014-07-16 09:55:22 +02:00
Johannes Meyer
19f05256a0 Only call session_start() when reading from session
fixes #6383
2014-07-16 09:55:22 +02:00
Johannes Meyer
3105c2059e Remove license headers from all files
refs #6309
2014-07-15 13:43:52 +02:00
Thomas Gelf
4bada86731 Authentication\Manager: fix fromRemoteUser boolean
This used to be always true in case an autologin backend was enabled.
We only have a REMOTE_USER if there is such.
2014-06-20 12:58:17 +02:00
Eric Lippmann
07d04628cf Merge branch 'feature/installation-and-configuration-cleanup-5638'
Conflicts:
	config/config.ini.in
	library/Icinga/Application/ApplicationBootstrap.php
	library/Icinga/Application/Cli.php
	library/Icinga/Application/EmbeddedWeb.php
	library/Icinga/Application/Logger.php
	library/Icinga/Application/Modules/Manager.php
	library/Icinga/Application/Web.php
	library/Icinga/Authentication/Backend/DbUserBackend.php
	library/Icinga/Authentication/Manager.php
	library/Icinga/User/Preferences/IniStore.php
	test/php/library/Icinga/Application/LoggerTest.php
2014-03-03 19:03:39 +01:00
Eric Lippmann
39c80dccaf Decouple authentication backend creation from Icinga\Authentication\Manager
Add authentication backend type msldap with default values for user_class
and user_name_attribute. Backend type ldap now logs an error when user_class
and user_name_attribute ist not configured. Rename membership.ini to
memberships.ini since all our INI configuration files are in the plurar
where it makes sense. The AuthenticationController now handles
authentication

refs #5685
refs #5638
fixes #5218
2014-03-03 17:21:17 +01:00
Matthias Jentsch
99668e87e5 Refresh session id on Authentication
To prevent session fixation, create a new session id each time authenticate is
called.

refs #5625
2014-02-26 19:23:34 +01:00
Matthias Jentsch
b118e9679d When webserver setting is missing regular authentication will be used
Check if the remote user is set and use regular authentication when the key is missing.

refs #5405
2014-02-26 18:08:48 +01:00
Matthias Jentsch
a8f765fa3b Add extern authentication
Provide a new settings authenticationMode and delegate the
authentication handling to the webserver when the external authentication mode
is set. Add a new view 'logout' that will be shown after logout from external
authentication as the regular redirect to login is not possible.

refs #5405
2014-02-26 18:08:48 +01:00
Johannes Meyer
3555e66018 Make IcingaWeb using the new log wrapper
refs #5683
2014-02-26 11:19:52 +01:00
Eric Lippmann
25665dec24 Vagrant: Add authentication.ini and resources.ini to /etc/icingaweb
refs #5638
2014-02-21 10:16:16 +01:00
Eric Lippmann
7fa6668b64 Make Icinga Web 2 work without any config file
refs #5638
fixes #5523
2014-02-20 13:53:28 +01:00
Eric Lippmann
8edf421c45 Replace debug log with respecting log priorities
refs #5638
fixes #5522
2014-02-18 14:46:15 +01:00
Eric Lippmann
69a482d106 Auth: Connect only when a authentication backend is used. Fix log in error messages
refs #5506
refs #5638
fixes #4931
2014-02-18 09:33:33 +01:00
Eric Lippmann
08d7edebfc Decouple (automatic) preferences storage from user preferences (WIP)
DbStore, persisting preferences and tests not yet reworked.
2014-02-14 17:28:11 +01:00
Eric Lippmann
41ffa1d7c2 Fix PHP Fatal error: Class 'Icinga\Authentication\Membership' not found in ManagerTest.php 2014-02-14 12:11:49 +01:00
Eric Lippmann
d6768872c7 Revert "Change setup behavior of the AuthenticationManager to a lazy approach"
This reverts commit 226eb4eded6aa098ad268edc8fba5ddec09b423b.

Conflicts:
	library/Icinga/Authentication/Manager.php

This fix is not appropriate

refs #5506
2014-02-14 11:20:33 +01:00
Marius Hein
8a604f1c2c Implement structures for permissions, restrictions and membership
refs #4624
2014-02-12 17:03:18 +01:00
Johannes Meyer
ac0b041523 Remove session handling from the authentication manager
refs #5510
2014-01-24 14:44:19 +01:00
Thomas Gelf
0f565aae6a Added permission handlers and related sample config reader
Please see feature #4108 for sample usage

refs #4108
2014-01-22 13:06:59 +00:00
Matthias Jentsch
226eb4eded Change setup behavior of the AuthenticationManager to a lazy approach
The authentication manager should only try to set up all backends when
necessary. Remove the backend setup from the constructor and call it only when it is actually needed.

fixes #5506
2014-01-22 13:04:11 +01:00
Matthias Jentsch
85dbd86e5b Change all UserBackends to a lazy connection-behavior
refs #5506
2014-01-22 13:04:11 +01:00
Matthias Jentsch
2a0add3ec3 Fix messages in ConfigController
Store messages in the current user session to be able to fetch messages from
other controllers, so that the use can be redirected back to the index, instead
of staying in the original action

refs #5100
2013-11-20 19:10:38 +01:00
Matthias Jentsch
941ce6d68e Fix bug that caused ajax-request to override values written to the session
Authentication/Session.php and its Subclasses do not have a open/closed -state
anymore. Read will refresh the session, write will always write the changes,
and opening/closing will be handled internally.

refs #5101
2013-11-20 12:01:40 +01:00
Matthias Jentsch
bd38e998d7 Provide a cleaner interface for the Authentication Backends
refs #4786
2013-11-06 14:49:16 +01:00
Matthias Jentsch
ad08691362 Extend resources.ini to contain all resources, including ldap
Remove the old calls to DbAdapterFactory and use ResourceFactory instead. Remove
the DbAdapterFactory and fix all unit tests that have been broken due to the changes.
Change the functionality of the ResourceFactory to also handle LdapConnections

resolves #4587
2013-11-06 10:20:15 +01:00
Eric Lippmann
ca1d50ae53 Rename Icinga 2 Web to Icinga Web 2 2013-10-23 15:11:06 +02:00
Marius Hein
dd214bbe16 Implement disable flag for authentication backends
refs #4941
2013-10-22 17:50:21 +02:00
Eric Lippmann
a5908c9553 CS: Replace multiple empty lines with one
find application/ library/Icinga/ test/ modules/ -name *.php | xargs sed -i '/^$/N;/^\n$/D'
2013-09-04 18:36:10 +02:00
Eric Lippmann
35fd9fd391 CS: Remove whitespaces at end of line
find application/ library/ test/ modules/ -name *.php | xargs sed -i 's/\s\+$//'
2013-09-04 18:27:16 +02:00
Marius Hein
e2e744a424 Fix authentication chain
refs #4593
2013-08-30 14:46:52 +02:00
Marius Hein
7c8252a983 Rename class Credentials to Credential
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein
83d20a6175 AuthManager: Fix tests
refs #4641
2013-08-30 12:50:28 +02:00
Marius Hein
dfb7238b81 AuthManager: Implement backend chain
refs #4641
refs #4590
refs #4593
2013-08-30 12:50:28 +02:00
Marius Hein
0c69dbf482 CS: Fix for DbAdapter, Auth/Manager and Preferences/DbStore
refs #4596
2013-08-26 11:09:37 +02:00
Matthias Jentsch
49cf62a9dc Fix database related bugs
Fix coding standards in database schemes. Use DbAdapterFactory in all unit
tests instead of creating own adapters. Fix DbUserBackend and DbStore to use
FETCH_OBJ, instead of FETCH_ASSOC, to handle it consistently in the whole
application. Remove unnecessary table columns from the "account" scheme.

refs #4577
refs #4578
refs #4596
refs #4599
refs #4627
2013-08-26 11:09:37 +02:00
Marius Hein
2debc7826b Deactivate group backend initializing
refs #4624
2013-08-23 17:28:12 +02:00
Matthias Jentsch
7f30b587be Change the StoreFactory to work with the DbAdapterFactory and fix code styling
Change the StoreFactory configuration to reference to a resource instead of
defining the whole database. Additionally fix docstrings, fix imports and fix
function calls to comply to coding style standards.

refs #4503
2013-08-15 14:16:34 +02:00
Matthias Jentsch
68deb735c0 Add the DbAdapterFactory to instanciate database adapters using resource names
Create the DbAdapterFactory to instanciate db adapters, add resources.ini to configure resources, change
the authentication Manager to fall back to backends with lower priority in case
of errors, update the current UserBackends to the changed environment. Also
adjust the documentation and existing unit tests.

resolves #4503
2013-08-14 16:22:58 +02:00