Refactor domain_controller and authentication:
- Renamed environ["http_authenticator.realm"], environ["http_authenticator.user_name"]
=> environ["wsgidav.auth.realm"], environ["wsgidav.auth.user_name"] - DC may define environ["wsgidav.auth.roles"] and environ["wsgidav.auth.permissions"]
- A common base class simplifies implementation of custom DCs.
- New PAMDomainController
allows to authenticate system users on Linux and macOS, for example. - Digest hash generation is now delegated to DomainControllers. This allows
to implement DomainControllers that support digest access authentication
even if plain-text passwords are not accessible, but stored hashes are. - Every domain controller now has a config section of its own. E.g.
theuser_mapping
option forSimpleDomainController
was moved to
simple_dc.user_mapping
. SimpleDomainController
no longer allows anonymous access by default.
It is now required to passsimple_dc.user_mapping: "share1": True
.
Also a new pseudo-share"*"
can be used to define defaults.