mirror of
https://github.com/kakwa/ldapcherry
synced 2024-11-25 18:54:29 +01:00
Merge branch 'master' of https://github.com/kakwa/ldapcherry
This commit is contained in:
commit
1456d1674a
8
docs/backend_api.rst
Normal file
8
docs/backend_api.rst
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Package ldapcherry.backend
|
||||||
|
==========================
|
||||||
|
|
||||||
|
.. automodule:: ldapcherry.backend
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
||||||
|
|
@ -26,7 +26,7 @@ sys.path.insert(0, os.path.abspath('..'))
|
|||||||
|
|
||||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
extensions = ['sphinx.ext.viewcode']
|
extensions = ['sphinx.ext.viewcode', 'sphinx.ext.todo', 'sphinx.ext.autodoc']
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
#templates_path = ['_templates']
|
#templates_path = ['_templates']
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
Deploy
|
Deploy
|
||||||
======
|
======
|
||||||
|
|
||||||
|
LdapCherry aims at being as simple as possible to deploy.
|
||||||
|
The Application is constituted of:
|
||||||
|
|
||||||
|
* ldapcherryd: the daemon to lauch LdapCherry
|
||||||
|
* one ini file (ldapcherry.ini by default): the entry point for the configuration, containing all the "technical" attributes
|
||||||
|
* two yaml files (roles.yml and attributes by default): the files containing the roles and attributes definition
|
||||||
|
|
||||||
Launch
|
Launch
|
||||||
------
|
------
|
||||||
|
|
||||||
@ -21,8 +28,27 @@ LdapCherry is launched using the internal cherrypy server:
|
|||||||
Roles and Attributes Configuration
|
Roles and Attributes Configuration
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
General Configuration
|
Entry point in main configuration
|
||||||
---------------------
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The main configuration file (ldapcherry.ini by default) contains two parameters locating the roles and attributes configuration files:
|
||||||
|
|
||||||
|
+-----------------+------------+-------------------------------+-------------------+---------+
|
||||||
|
| Parameter | Section | Description | Values | Comment |
|
||||||
|
+=================+============+===============================+===================+=========+
|
||||||
|
| attributes.file | attributes | Attributes configuration file | Path to conf file | |
|
||||||
|
+-----------------+------------+-------------------------------+-------------------+---------+
|
||||||
|
| roles.file | roles | Roles configuration file | Path to conf file | |
|
||||||
|
+-----------------+------------+-------------------------------+-------------------+---------+
|
||||||
|
|
||||||
|
Attributes Configuration
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Roles Configuration
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Main Configuration
|
||||||
|
------------------
|
||||||
|
|
||||||
Webserver
|
Webserver
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
@ -72,6 +98,9 @@ example:
|
|||||||
tools.staticdir.on = True
|
tools.staticdir.on = True
|
||||||
tools.staticdir.dir = '/usr/share/ldapcherry/static/'
|
tools.staticdir.dir = '/usr/share/ldapcherry/static/'
|
||||||
|
|
||||||
|
Backends
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
Authentication and sessions
|
Authentication and sessions
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -182,5 +211,3 @@ Sample init script for Debian:
|
|||||||
:language: bash
|
:language: bash
|
||||||
|
|
||||||
This init script is available in **goodies/init-debian**.
|
This init script is available in **goodies/init-debian**.
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
|
|
||||||
install
|
install
|
||||||
deploy
|
deploy
|
||||||
|
backend_api
|
||||||
|
ppolicy_api
|
||||||
changelog
|
changelog
|
||||||
|
|
||||||
|
|
||||||
.. include:: ../README.rst
|
.. include:: ../README.rst
|
||||||
|
7
docs/ppolicy_api.rst
Normal file
7
docs/ppolicy_api.rst
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Package ldapcherry.ppolicy
|
||||||
|
==========================
|
||||||
|
|
||||||
|
.. automodule:: ldapcherry.ppolicy
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
||||||
|
:show-inheritance:
|
@ -11,16 +11,18 @@ from ldapcherry.exceptions import MissingParameter
|
|||||||
class PPolicy:
|
class PPolicy:
|
||||||
|
|
||||||
def __init__(self, config, logger):
|
def __init__(self, config, logger):
|
||||||
""" password policy constructor
|
""" Password policy constructor
|
||||||
@dict config: the configuration of the ppolicy
|
|
||||||
@logger logger: a python logger
|
:dict config: the configuration of the ppolicy
|
||||||
|
:logger logger: a python logger
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def check(self, password):
|
def check(self, password):
|
||||||
""" check that a password match the ppolicy
|
""" Check if a password match the ppolicy
|
||||||
@str password: the password to check
|
|
||||||
@rtype: dict with keys 'match' a boolean
|
:str password: the password to check
|
||||||
|
:rtype: dict with keys 'match' a boolean
|
||||||
(True if ppolicy matches, False otherwise)
|
(True if ppolicy matches, False otherwise)
|
||||||
and 'reason', an explaination string
|
and 'reason', an explaination string
|
||||||
"""
|
"""
|
||||||
@ -28,15 +30,17 @@ class PPolicy:
|
|||||||
return ret
|
return ret
|
||||||
|
|
||||||
def info(self):
|
def info(self):
|
||||||
""" gives information about the ppolicy
|
""" Gives information about the ppolicy
|
||||||
@rtype: a string describing the ppolicy
|
|
||||||
|
:rtype: a string describing the ppolicy
|
||||||
"""
|
"""
|
||||||
ret = "There is no password policy configured"
|
ret = "There is no password policy configured"
|
||||||
|
|
||||||
def get_param(self, param, default=None):
|
def get_param(self, param, default=None):
|
||||||
"""
|
""" Get a parameter in config (handle default value)
|
||||||
@str param: name of the paramter to recover
|
|
||||||
default: the default value, raises an exception
|
:str param: name of the paramter to recover
|
||||||
|
:str default: the default value, raises an exception
|
||||||
if param is not in configuration and default
|
if param is not in configuration and default
|
||||||
is None (which is the default value).
|
is None (which is the default value).
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user