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
Johannes Meyer
68357e9ca2
Fix coding style
2014-02-21 14:07:32 +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 226eb4eded
.
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
0b28bd31e5
Fix exception when the password of a valid ldap user is invalid
2014-01-29 10:41:17 +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
Marius Hein
263f09a94c
Add email column to extensible features
...
refs #5151
2013-11-28 17:23:55 +01:00
Marius Hein
93d233f37d
Make DbUserBackend extensible
...
Fix: Swap hmac secret key
refs #5151
2013-11-27 11:10:07 +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
Marius Hein
439168ecfb
Fix ldap connection port setting
...
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
446da85a88
UserBackend: Fix interface in test
...
refs #4593
2013-08-30 15:32:06 +02:00
Marius Hein
e2e744a424
Fix authentication chain
...
refs #4593
2013-08-30 14:46:52 +02:00
Marius Hein
845f181001
CS: Fix UserBackend interface
...
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein
bed759d597
CS: Fix session classes
...
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein
7765877318
CS: Fix LdapUserBackend
...
refs #4641
2013-08-30 12:50:57 +02:00
Marius Hein
c77a48ff1f
CS: Fix DbUserBackend
...
refs #4641
2013-08-30 12:50:57 +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
Jannis Moßhammer
0b515e39ac
Implement {app} placeholder and Icinga\Config::resolvePath()
...
refs #4642
2013-08-29 11:48:32 +02:00
Jannis Moßhammer
d0ac97f335
Configure fixes, regression test for 4606
...
The configure routine still has to be improved, right now unused
authentication backends are commented out
refs #4491
refs #4606
refs #4640
2013-08-29 11:48:32 +02:00
Jannis Moßhammer
4e41ce5cdc
Add logic validation for database authentication backends
...
refs #4546
2013-08-29 11:48:32 +02:00
Jannis Moßhammer
17e6402aa9
Split up authentication form, logic connectivity check
...
refs #4606
refs #4622
refs #4602
refs #4546
2013-08-29 11:48:29 +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
e6c57f029d
Fix code styling to comply with coding standard
...
refs #4503
2013-08-15 14:58:08 +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
Eric Lippmann
93ae6d6811
Framework: mv Icinga\Config\Config to Icinga\Application\Config
...
refs #4543
2013-08-12 15:02:25 +02:00
Matthias Jentsch
56e47fd084
Add an ini writer for configuration files
...
Add an ini writer that respects the file structure and the comments that may be
already present in the config file. Move Application/Config.php into
Config/Config.php.
refs #4352
2013-08-07 15:58:42 +02:00
Marius Hein
f3ed73175b
User preferences: Session store and glue to build instance
...
refs #4069
2013-08-05 16:56:02 +02:00
Marius Hein
a1a8d4c157
Code compliance change and rename refs to User
...
refs #4066
2013-07-30 14:06:46 +02:00
Marius Hein
8510d57cf8
Prepare user settings api
...
Rework application bootstrap, move user object to its new location, implement web
request class to handle the user object.
refs #4066
2013-07-30 14:06:46 +02:00
Matthias Jentsch
e51737f42a
Fix the installation manual, comments and give the unit-test functions a more
...
verbose name
refs #3769
2013-07-29 11:42:31 +02:00
Matthias Jentsch
94e9ffc7b3
Fix comments
...
refs #3769
2013-07-26 15:57:37 +02:00
Jannis Moßhammer
306a51271b
Change 'user' table to 'account', error handling and docs
...
Fix installation instructions for postgresql, the user table is now
'account', as user is a keyword in some rdbms, now catching exceptions
and returning auth failed while logging errors
refs #3769
2013-07-26 15:01:52 +02:00
Matthias Jentsch
ce95511890
Change default database to "icingaweb" and add installation instructions
...
Set the default database and user to "icingaweb" in the authentication.ini. Add
instructions about how to set up the databases to authentication.ini.
refs #3769
2013-07-26 13:10:00 +02:00
Matthias Jentsch
fd4cbf1c5b
Add default login to the authentication database
...
refs #3772
2013-07-26 13:10:00 +02:00
Matthias Jentsch
2807982f72
Remove crypto-module and use libraries instead
...
Remove the crypto-module to reduce amount of dependencies and use hash_hmac
with SHA256 instead.
refs #3769
2013-07-26 13:09:59 +02:00
Matthias Jentsch
3ff0c0f02a
Adds DbUserBackend to handle the authentication against a sql db.
...
Users should be able to authenticate against an internal DB without setting up
additional authentication domains.
refs #3769
2013-07-26 13:09:59 +02:00
Jannis Mosshammer
e8204f4755
Merge branch 'feature/service-detail-view-4181' of ssh://git.icinga.org/icinga2-web
...
Conflicts:
library/Icinga/Application/Logger.php
library/Icinga/Application/Web.php
library/Icinga/Authentication/Backend/LdapUserBackend.php
library/Icinga/Authentication/Credentials.php
library/Icinga/Authentication/Manager.php
library/Icinga/Authentication/PhpSession.php
library/Icinga/Authentication/Session.php
library/Icinga/Authentication/User.php
library/Icinga/Authentication/UserBackend.php
library/Icinga/Backend/AbstractBackend.php
library/Icinga/Backend/DataView/ObjectRemappingView.php
library/Icinga/Backend/Query.php
library/Icinga/Backend/Statusdat/DataView/StatusdatHostView.php
library/Icinga/Backend/Statusdat/HostgroupsummaryQuery.php
library/Icinga/Backend/Statusdat/HostlistQuery.php
library/Icinga/Backend/Statusdat/ServicegroupsummaryQuery.php
library/Icinga/Backend/Statusdat/ServicelistQuery.php
library/Icinga/Exception/ConfigurationError.php
library/Icinga/Exception/MissingParameterException.php
library/Icinga/Exception/NotImplementedError.php
library/Icinga/Exception/ProgrammingError.php
library/Icinga/Exception/SystemPermissionException.php
library/Icinga/Protocol/AbstractQuery.php
library/Icinga/Protocol/Commandpipe/Acknowledgement.php
library/Icinga/Protocol/Commandpipe/CommandPipe.php
library/Icinga/Protocol/Commandpipe/Comment.php
library/Icinga/Protocol/Commandpipe/Downtime.php
library/Icinga/Protocol/Commandpipe/Exception/InvalidCommandException.php
library/Icinga/Protocol/Commandpipe/IComment.php
library/Icinga/Protocol/Commandpipe/PropertyModifier.php
library/Icinga/Protocol/Ldap/Connection.php
library/Icinga/Protocol/Ldap/Exception.php
library/Icinga/Protocol/Ldap/LdapUtils.php
library/Icinga/Protocol/Ldap/Node.php
library/Icinga/Protocol/Ldap/Query.php
library/Icinga/Protocol/Ldap/Root.php
library/Icinga/Protocol/Statusdat/Exception/ParsingException.php
library/Icinga/Protocol/Statusdat/IReader.php
library/Icinga/Protocol/Statusdat/ObjectContainer.php
library/Icinga/Protocol/Statusdat/Parser.php
library/Icinga/Protocol/Statusdat/Query.php
library/Icinga/Protocol/Statusdat/Query/Expression.php
library/Icinga/Protocol/Statusdat/Query/Group.php
library/Icinga/Protocol/Statusdat/Query/IQueryPart.php
library/Icinga/Protocol/Statusdat/Reader.php
library/Icinga/Protocol/Statusdat/RuntimeStateContainer.php
library/Icinga/Protocol/Statusdat/View/AccessorStrategy.php
library/Icinga/Web/ActionController.php
library/Icinga/Web/Form.php
library/Icinga/Web/Hook/Configuration/ConfigurationTab.php
library/Icinga/Web/Hook/Configuration/ConfigurationTabBuilder.php
library/Icinga/Web/Hook/Configuration/ConfigurationTabInterface.php
library/Icinga/Web/Hook/Grapher.php
library/Icinga/Web/Hook/Toptray.php
library/Icinga/Web/ModuleActionController.php
library/Icinga/Web/Notification.php
library/Icinga/Web/Paginator/Adapter/QueryAdapter.php
library/Icinga/Web/Paginator/ScrollingStyle/SlidingWithBorder.php
library/Icinga/Web/Widget.php
modules/monitoring/application/views/helpers/MonitoringCommands.php
modules/monitoring/application/views/helpers/MonitoringFlags.php
modules/monitoring/application/views/helpers/MonitoringProperties.php
modules/monitoring/application/views/scripts/show/components/comments.phtml
modules/monitoring/application/views/scripts/show/components/downtime.phtml
modules/monitoring/application/views/scripts/show/components/flags.phtml
modules/monitoring/application/views/scripts/show/components/properties.phtml
modules/monitoring/application/views/scripts/show/header.phtml
modules/monitoring/application/views/scripts/show/host.phtml
modules/monitoring/application/views/scripts/show/service.phtml
modules/monitoring/library/Monitoring/Backend/AbstractBackend.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/DowntimeQuery.php
modules/monitoring/library/Monitoring/Backend/Ido/Query/StatusQuery.php
modules/monitoring/library/Monitoring/Backend/Statusdat.php
modules/monitoring/library/Monitoring/Backend/Statusdat/Criteria/Order.php
modules/monitoring/library/Monitoring/Backend/Statusdat/DataView/StatusdatServiceView.php
modules/monitoring/library/Monitoring/Backend/Statusdat/Query/GroupsummaryQuery.php
modules/monitoring/library/Monitoring/Backend/Statusdat/Query/Query.php
modules/monitoring/library/Monitoring/Command/Meta.php
modules/monitoring/library/Monitoring/View/DowntimeView.php
modules/monitoring/test/php/application/views/helpers/MonitoringCommandsTest.php
modules/monitoring/test/php/application/views/helpers/MonitoringPropertiesTest.php
modules/monitoring/test/php/library/Command/MetaTest.php
2013-07-23 16:33:07 +02:00
Jannis Moßhammer
a0839ea0da
Add service detail view
...
refs #4181
2013-07-22 16:03:36 +02:00
Marius Hein
5489c2fa2e
Update license header
...
refs #4407
2013-07-15 12:26:10 +02:00
Eric Lippmann
51755209b6
Adapt usage of config class
...
refs #4354
2013-07-12 15:43:23 +02:00
Marius Hein
6be510b05e
License writer
...
Update license headers
refs #4262
2013-07-03 14:17:49 +02:00
Eric Lippmann
6eade9c023
Fix use of already replaced class Icinga\Web\Session
...
refs #4301
2013-06-28 09:13:08 +02:00
Jannis Moßhammer
934163dd04
Add PHP Documentation to Authentication
...
Documented all currently existing classes underneath the
Authentication package
refs #4350
2013-06-27 15:24:22 +02:00
Marius Hein
72bb02d390
Module administration
...
Rebase fix ldap auth for testing issue.
refs #4092
2013-06-26 16:48:07 +02:00
Marius Hein
a1327a384c
Fix Authentication workflow
...
Fix ldap backends to use Credentials to work with. Fix
some tests to use include right files.
refs #4340
2013-06-25 12:24:52 +02:00
Jannis Moßhammer
8192c19424
Fix Authentication workflow
...
- The authentication controller now uses the Authentication/Manager class,
also there were some issues in the Session creation, this has been removed
from the Bootstrap now, as the Controller must decide how to open a session
(read-only or read/write).
- The tests reflect a few chagnes, as the move from the CSRF token generation
to the Formbuilder.
- Notificaiton now doesn't use Zend Session
refs #4340
2013-06-25 11:54:42 +02:00
Marius Hein
c905b1f490
Test and move bootstrapping/web code to source tree
...
Move code from incubator to web. Only files needed to show
welcome moved.
refs #4249
2013-06-17 08:49:27 +02:00
Marius Hein
ed53ab6c9d
Refactor Authentication Code
...
Fix PSR, fix testing
refs #4265
2013-06-11 13:53:42 +02:00
Marius Hein
8797d3e095
Refactor Authentication Code
...
Drop empty files
refs #4256
2013-06-11 13:35:53 +02:00
Jannis Moßhammer
3199f21f29
Added License header, removed deprecated or empty files
...
refs #4265
2013-06-11 13:33:16 +02:00
Jannis Moßhammer
da43813de9
Update Backendpath for Authentication
...
Backends are now located in the Icinga/Authentication/Backend folder
refs #4265
2013-06-11 13:33:16 +02:00
Jannis Moßhammer
e325ad3417
Add LdapUserBackend and (skipping) test
...
The test is skipped due to the tight coupling of the Ldap Protocol
Backend to the rest of the application, this has to be addressed
as soon as the Connection is cleaned up
refs #4265
refs #4250
2013-06-11 13:33:15 +02:00
Jannis Moßhammer
70e8562814
Add PhpSession with tests
...
PhpSession handles file based sessions as supported by PHP
refs #4265
refs #4250
2013-06-11 13:32:33 +02:00
Jannis Moßhammer
db61cfafe1
Update and test Auth/Manager implementation
...
- remove Storable inheritance from User and make it a plain DAO
- remove Authorization methods from User
refs #4265
refs #4250
2013-06-11 13:32:33 +02:00
Jannis Moßhammer
06b7b9ee2e
Add Auth/Manager.php, currently without tests
...
The Auth Manager class incorporates the functionality of the
Backend.php and Auth.php class and handles authentication. The
authorization parts from the Auth.php (hasPermission(), etc.) have
been removed and will be added to the user class
refs #4265
2013-06-11 13:27:53 +02:00
Jannis Moßhammer
9206b30254
Add basic, untested skeleton for Session and PHPSession
...
As we decided to remove Zend_Session due to locking issues,
we have to implement our session handling here. This is
the basic, untested code which will be tested in the next step
refs #4265
2013-06-11 13:27:53 +02:00
Jannis Moßhammer
d1f6668fe7
Add library from incubator and teststubs
...
This commit only contains the untested libaries from the incubator
and autogenerated teststubs and is the basis for writing the tests
refs #4250
2013-06-11 13:23:59 +02:00
Eric Lippmann
0098053187
Remove empty files from the Icinga library
...
refs #4257
2013-06-07 15:46:33 +02:00
Jannis Moßhammer
54ccb9b12a
Move libraries from incubator to working tree for evaluation
...
Add all untested files from incubator's library/Icinga to working
tree library/Icinga
refs #4257
2013-06-07 15:46:33 +02:00