[[PageOutline(2-5,Contents,pullout)]] [[html(
)]] '''!ToDo''' * short-term: improve authentication code, see #5964 and #8545 * mid-term: add more WikiMacros stuff, see #9852 * long-term: continue code review and bug squashing... '''News''' 01-Dec-2012:: Stable release acct_mgr-0.4 - for Trac 0.11 .. 1.0 (open: 39) 11-Aug-2012:: Plug-able [wiki:AccountManagerPlugin/RegistrationInspector registration process] using new `IAccountRegistrationInspector` interface (open: 74) 26-Aug-2011:: Maintenance release, '''acct_mgr-0.3.2''' in `0.11` branch with fixed browser cookie handling, user deletion and more (open: 40) 07-Jul-2011:: Stable release acct_mgr-0.3 - for Trac ~~0.11,~~ 0.12, 0.13dev (open: 36) 26-Sep-2010:: Starting ticket list cleanup and triaging (open: 96) [[html(
)]] = Account Manager Plugin = == Description == The AccountManagerPlugin offers features for managing user accounts and more: * enable authentication through a number of built-in [wiki:AccountManagerPlugin/AuthStores authentication resources] and some more by [wiki:AccountManagerPlugin/AuthStores#Othersources 3rd party extensions] * allow users to [wiki:AccountManagerPlugin/RegistrationInspector register] new accounts * login via an HTML [wiki:AccountManagerPlugin#LoginModule form] instead of using HTTP authentication * allow existing users to change their passwords, even delete their accounts These features are new in the plugin for Trac 0.10. * send a new password to users who’ve forgotten their password * administration of user accounts These features are new in the plugin for Trac 0.11 and later * login failure tracking and rule based account locking (temporary or permanent lock) * per-account details admin page * password hash refresh and store migration on user login * [#Abouti18nl10nsupport i18n support] (requires Trac 0.12 or later) * account meta-data listing from Trac db table `session_attribute`, with cleanup option * [wiki:CookBook/AccountManagerPluginConfiguration#SingleSignOn Single-Sign-On] functionality for applications with multiple Trac environments per domain/host * mostly [wiki:AccountManagerPlugin/WikiMacros account-/user-related WikiMacros] == Bugs/Feature Requests == Existing bugs and feature requests for AccountManagerPlugin are [report:9?COMPONENT=AccountManagerPlugin here]. If you have any issues that is not found in [query:?component=AccountManagerPlugin&order=priority existing tickets], create a [http://trac-hacks.org/newticket?component=AccountManagerPlugin&owner=hasienda new ticket], please. You do wonder, if you could contribute here? Great! There are some recommendations, [wiki:AccountManagerPlugin/TicketBurndown where to start]. In any case, please respect our [wiki:License/MandatorySignOff rules for contributions], that are enforced for this plugin as of 01-Dec-2012. == Install == === Prerequisites === First make sure you’ve [trac:wiki:TracPlugins#Requirements installed setuptools]. Make sure you have a version >= 0.6c9, since previous versions contain a bug which makes the installation fail. Then you can install the plugin using the `easy_install` application. '''Note:''' Windows users will need to [http://peak.telecommunity.com/DevCenter/EasyInstall#windows-notes add easy_install to their PATH]. === Release Status, Downloads and Source === While in general the branch name suggests the corresponding Trac version, `0.11` should work equally well for all Trac starting from 0.11 over 0.12 (old stable) up to Trac 1.0 (current stable). || Old, obsolete Version ||easy_install https://trac-hacks.org/svn/accountmanagerplugin/0.10 ||[download:accountmanagerplugin/0.10 download] ||[http://trac-hacks.org/svn/accountmanagerplugin/0.10 subversion] || || '''Stable Version''' ||easy_install https://trac-hacks.org/svn/accountmanagerplugin/0.11 ||[download:accountmanagerplugin/0.11 download] ||[http://trac-hacks.org/svn/accountmanagerplugin/0.11 subversion] || || Under Development ||easy_install https://trac-hacks.org/svn/accountmanagerplugin/trunk ||[download:accountmanagerplugin/trunk download] ||[http://trac-hacks.org/svn/accountmanagerplugin/trunk subversion] || [source:/accountmanagerplugin Browse the source] with Trac. For Subversion checkout use {{{svn co }}} with URL depending on your Trac version and target release (see links above). '''Hint:''' If you are using the tracd standalone server or Apache 2.2.x you will need to restart it to detect the plugin. === About i18n/l10n support === Starting with acct_mgr-0.3 this plugin has been prepared for localization.[[BR]] But English message texts are still the (POSIX) default. If this isn't your preferred language, you can 1. look, if it's already available from the [TracPluginTranslation Trac plugin l10n project] at [http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr-messages Transifex] or 2. do it yourself (see the [http://trac.edgewall.org/wiki/CookBook/PluginL10N#Dotranslatorswork l10n cookbook page for Trac plugins] for more details). You've done a new translation? Superb! Contributing your translation is highly appreciated.[[BR]] You could send it to the plugin's maintainer or contribute to [TracPluginTranslation Trac plugin l10n project] via [http://www.transifex.net/projects/p/Trac_Plugin-L10N/ Transifex]: Top translations: Trac_Plugin-L10N » [http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr-messages/ acct_mgr-messages][[BR]] [[Image(transifex_acct_mgr-messages_v0.3.png, title=Status for acct_mgr-0.3, alt=translation coverage - stable release)]] [[Image(http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr-messages/chart/image_png, title=Go to Trac_Plugin-L10N project page on Transifex.net, link=http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr-messages/)]] Left: Status for acct_mgr-0.3, right: near-sync to `trunk` - kindly provided by [[Image(https://ds0k0en9abmn1.cloudfront.net/static/charts/images/tx-logo-micro.png, link=http://www.transifex.net/, title=the open translation platform, valign=bottom)]] Preparing the plugin from source requires '''no additional steps''' for compiling message catalog files. Only to include translations marked as `# fuzzy` by the translator, you'll want to do a manual message catalog compilation with the extra `-f` argument before packaging: {{{ cd accountmanagerplugin/ python ./setup.py compile_catalog -f python ./setup.py bdist_egg }}} Complaints about missing `locale` directory are often a side-effect of failure to compile any message catalog for inclusion into Python egg, hence the whole path is missing. Due to a know Trac issue Babel has to be installed prior to Trac, to get it all working as expected.[[BR]] Again, for more details see the [t:wiki:CookBook/PluginL10N#Compileanduseit l10n cookbook page for Trac plugins]. == Setup == === Components === In order to use the features of the !AccountManager you will need to enable some or all of its components. The available components are mentioned below, but described in greater details on a [wiki:AccountManagerPlugin/Modules separate page]. ||'''Component'''||'''Description/Purpose'''||'''Recommendation'''|| ||[wiki:AccountManagerPlugin/Modules#AccountManager AccountManager] ||This holds core code of this plugin. ||This component ''must'' be enabled to use any of the other components. See [wiki:AccountManagerPlugin/Modules#AccountManager details]. || ||[wiki:AccountManagerPlugin/Modules#AccountManagerAdminPanel AccountManagerAdminPanel]^1^ ||This component adds new pages to the web admin section.||The admin part for managing related parts of Trac's configuration^2^ should be an important part of what you're expecting. See [wiki:AccountManagerPlugin/Modules#AccountManagerAdminPanel details]. || ||[wiki:AccountManagerPlugin/Modules#AccountModule AccountModule] ||Allows users to manage their account^3^ via tab “Account” in users “Preferences”. ||The user accessible part, might be required or even forbidden depending on your use case. See [wiki:AccountManagerPlugin/Modules#AccountModule details]. || ||[wiki:AccountManagerPlugin/Modules#LoginModule LoginModule] ||Allows users to login via a HTML form instead of using HTTP authentication. ||Replace Trac's own login module for an alternative to Simple HTTP Authentication, but only one can be enable at a time. See [wiki:AccountManagerPlugin/Modules#LoginModule details]. || ||[wiki:AccountManagerPlugin/Modules#AccountGuard AccountGuard] ||This component adds login failure tracking and administrative account locking. ||Use it as part of your security policy to protect against brute-force attacks on user passwords. See [wiki:AccountManagerPlugin/Modules#AccountGuard details]. || ||[wiki:AccountManagerPlugin/RegistrationInspector#RegistrationModule RegistrationModule] ||It adds a “Register” link on metanav^4^. ||Enable users to register a new account with a configurable procedure. See [wiki:AccountManagerPlugin/RegistrationInspector#RegistrationModule details]. ||[wiki:AccountManagerPlugin/RegistrationInspector#EmailVerificationModule EmailVerificationModule] ||An new email address will trigger an email with a verification code to enter, to approve it is really users own email address, and user account privileges cut down until successful verification. ||Implement a verification process for added or changed email addresses, if required. See [wiki:AccountManagerPlugin/RegistrationInspector#EmailVerificationModule details]. || ^1^ Name in acct_mgr-0.3 was `AccountManagerAdminPage`. If you are upgrading to acct_mgr-0.4 from an earlier version, and this feature was enabled using `acct_mgr.admin.AccountManagerAdminPages`, this feature will now be disabled until it is enabled using `acct_mgr.admin.AccountManagerAdminPanel`.[[BR]] ^2^ Found in `trac.ini`[[BR]] ^3^ Change their password, or even delete their account, if permission granted by appropriate configuration[[BR]] ^4^ Same menu bar as the “Login” link The easiest way to learn about available components and enable them is via Trac's plugin admin page (before Trac 0.11 this has been a separate trac:WebAdmin plugin). Users logged in with the TRAC_ADMIN permission will be able to manage the enabled components: [[Image(components-admin_v0.3.png)]] Components can also be enabled or disabled in the [trac:TracIni trac.ini] file under the `[components]` section. For example to enable the login form and disable user registration: {{{ #!cfg [components] trac.web.auth.LoginModule = disabled acct_mgr.web_ui.LoginModule = enabled acct_mgr.web_ui.RegistrationModule = disabled }}} '''Hint:''' Option names are written in !CamelCase style notation, but will get (re-)written all-lowercase, if added/updated via the Trac admin web-UI. Anyway, case doesn't really matter here. ''Update: See [wiki:AccountManagerPlugin/RegistrationInspector information] about new registration code.'' '''Note:''' To make it to replace the traditional trac login feature with a webform, also add: {{{ #!cfg [components] trac.web.auth.loginmodule = disabled }}} === Configuration === See [wiki:CookBook/AccountManagerPluginConfiguration configuration cookbook] page for hints on proper configuration. == Post Setup/Configuration == In order to use the !AccountManager plugin, while logged in as a user owning `TRAC_ADMIN` rights, use the “Admin” link on the menubar. You might want to change some permission assignments. For instance, if you remove `TICKET_MODIFY` and `WIKI_MODIFY` permission from the “anonymous“ group and add it to the “authenticated” group instead, only authenticated, logged-in (registered) users can perform ticket modifications and wiki editing. `TRAC_ADMIN` is not strictly required for access to account administration pages provided by !AccountManager. The `ACCTMGR_*` permissions are sufficient, and should even be preferred where appropriate, i.e. to limit delegation of administrative tasks to just account administration by granting `ACCTMGR_USER_ADMIN`. == Recent Changes == [[ChangeLog(/accountmanagerplugin,3)]] == Author/Contributors == '''Author:''' [wiki:mgood] [[BR]] '''Maintainer:''' [wiki:hasienda] [[BR]] '''Contributors:''' [wiki:coderanger], [wiki:crocea], [wiki:janakj], [wiki:jun66j5], [wiki:manski], [wiki:mrelbe], [wiki:otaku42], [wiki:pacopablo], [wiki:riggs], [wiki:s0undt3ch] [[BR]]