Aktuelle Änderungen - Suchen:

PmWiki

pmwiki.org

edit SideBar

https://dados.ufrn.br/sv/user/xanax874 https://dados.ufrn.br/sv/user/xanor358 https://dados.ufrn.br/sv/user/valium924 https://dados.ufrn.br/sv/user/stesolid354 https://dados.ufrn.br/sv/user/ativan844 https://dados.ufrn.br/sv/user/stilnoct978 https://dados.ufrn.br/sv/user/ambien352 https://dados.ufrn.br/sv/user/tramadol326 https://dados.ufrn.br/sv/user/ritalin838 https://dados.ufrn.br/sv/user/adderall235 https://dados.ufrn.br/sv/user/concerta663 https://dados.ufrn.br/sv/user/elvanse932 https://dados.ufrn.br/sv/user/sonata824 https://dados.ufrn.br/sv/user/lunesta729 https://dados.ufrn.br/sv/user/modafinil390 https://dados.ufrn.br/sv/user/karisoprodol132 https://dados.ufrn.br/sv/user/midazolam325 https://dados.ufrn.br/sv/user/triazolam340 https://dados.ufrn.br/sv/user/temazepam392 https://dados.ufrn.br/sv/user/etizolam353 https://dados.ufrn.br/es/user/xanax875 https://dados.ufrn.br/es/user/trankimazin942 https://dados.ufrn.br/es/user/valium844 https://dados.ufrn.br/es/user/ativan323 https://dados.ufrn.br/es/user/orfidal388 https://dados.ufrn.br/es/user/stilnox748 https://dados.ufrn.br/es/user/ambien923 https://dados.ufrn.br/es/user/imovane530 https://dados.ufrn.br/es/user/tramadol284 https://dados.ufrn.br/es/user/adipex947 https://dados.ufrn.br/es/user/rivotril902 https://dados.ufrn.br/es/user/lexatin923 https://dados.ufrn.br/es/user/lexotan913 https://dados.ufrn.br/es/user/lyrica348 https://dados.ufrn.br/es/user/tapentadol240 https://dados.ufrn.br/es/user/ritalin737 https://dados.ufrn.br/es/user/adderall320 https://dados.ufrn.br/es/user/cytotec823 https://dados.ufrn.br/es/user/concerta552 https://dados.ufrn.br/es/user/rubifen325 https://dados.ufrn.br/es/user/elvanse934 https://dados.ufrn.br/es/user/sonata663 https://dados.ufrn.br/es/user/lunesta728 https://dados.ufrn.br/es/user/modafinilo492 https://dados.ufrn.br/es/user/carisoprodol249 https://dados.ufrn.br/es/user/midazolam349 https://dados.ufrn.br/es/user/triazolam934 https://dados.ufrn.br/es/user/temazepam234 https://dados.ufrn.br/es/user/etizolam428 https://dados.ufrn.br/it/user/xanax578 https://dados.ufrn.br/it/user/valium342 https://dados.ufrn.br/it/user/ativan991 https://dados.ufrn.br/it/user/tavor922 https://dados.ufrn.br/it/user/stilnox882 https://dados.ufrn.br/it/user/ambien576 https://dados.ufrn.br/it/user/imovane663 https://dados.ufrn.br/it/user/tramadolo249 https://dados.ufrn.br/it/user/adipex924 https://dados.ufrn.br/it/user/rivotril539 https://dados.ufrn.br/it/user/lexotan924 https://dados.ufrn.br/it/user/lyrica667 https://dados.ufrn.br/it/user/tapentadolo935 https://dados.ufrn.br/it/user/ritalin367 https://dados.ufrn.br/it/user/adderall848 https://dados.ufrn.br/it/user/cytotec892 https://dados.ufrn.br/it/user/concerta349 https://dados.ufrn.br/it/user/elvanse874 https://dados.ufrn.br/it/user/sonata842 https://dados.ufrn.br/it/user/lunesta922 https://dados.ufrn.br/it/user/modafinil220 https://dados.ufrn.br/it/user/carisoprodolo290 https://dados.ufrn.br/it/user/midazolam488 https://dados.ufrn.br/it/user/triazolam377 https://dados.ufrn.br/it/user/temazepam233 https://dados.ufrn.br/it/user/etizolam582 https://dados.ufrn.br/nl/user/xanax773 https://dados.ufrn.br/nl/user/valium928 https://dados.ufrn.br/nl/user/ativan327 https://dados.ufrn.br/nl/user/temesta684 https://dados.ufrn.br/nl/user/stilnoct934 https://dados.ufrn.br/nl/user/ambien750 https://dados.ufrn.br/nl/user/imovane569 https://dados.ufrn.br/nl/user/tramadol531 https://dados.ufrn.br/nl/user/tapentadol663 https://dados.ufrn.br/nl/user/rivotril437 https://dados.ufrn.br/nl/user/lexotanil495 https://dados.ufrn.br/nl/user/lyrica982 https://dados.ufrn.br/nl/user/adipex920 https://dados.ufrn.br/nl/user/cytotec847 https://dados.ufrn.br/nl/user/ritalin748 https://dados.ufrn.br/nl/user/adderall774 https://dados.ufrn.br/nl/user/concerta551 https://dados.ufrn.br/nl/user/elvanse982 https://dados.ufrn.br/nl/user/sonata628 https://dados.ufrn.br/nl/user/lunesta620 https://dados.ufrn.br/nl/user/modafinil538 https://dados.ufrn.br/nl/user/carisoprodol889 https://dados.ufrn.br/nl/user/midazolam235 https://dados.ufrn.br/nl/user/triazolam824 https://dados.ufrn.br/nl/user/temazepam302 https://dados.ufrn.br/nl/user/etizolam537 https://dados.ufrn.br/de/user/xanax573 https://dados.ufrn.br/de/user/valium139 https://dados.ufrn.br/de/user/ativan348 https://dados.ufrn.br/de/user/tavor563 https://dados.ufrn.br/de/user/stilnox890 https://dados.ufrn.br/de/user/ambien875 https://dados.ufrn.br/de/user/imovane738 https://dados.ufrn.br/de/user/tramadol982 https://dados.ufrn.br/de/user/tapentadol955 https://dados.ufrn.br/de/user/rivotril499 https://dados.ufrn.br/de/user/lexotanil942 https://dados.ufrn.br/de/user/lyrica981 https://dados.ufrn.br/de/user/adipex987 https://dados.ufrn.br/de/user/cytotec944 https://dados.ufrn.br/de/user/ritalin895 https://dados.ufrn.br/de/user/adderall903 https://dados.ufrn.br/de/user/xanax357 https://dados.ufrn.br/de/user/alprazolam130 https://dados.ufrn.br/de/user/valium847 https://dados.ufrn.br/de/user/diazepam299 https://dados.ufrn.br/de/user/ativan771 https://dados.ufrn.br/de/user/tavor135 https://dados.ufrn.br/de/user/lorazepam583 https://dados.ufrn.br/de/user/ambien532 https://dados.ufrn.br/de/user/stilnox350 https://dados.ufrn.br/de/user/zolpidem577 https://dados.ufrn.br/de/user/imovane883 https://dados.ufrn.br/de/user/zopiclon964 https://dados.ufrn.br/de/user/tramadol638 https://dados.ufrn.br/de/user/tapentadol236 https://dados.ufrn.br/de/user/rivotril368 https://dados.ufrn.br/de/user/clonazepam647 https://dados.ufrn.br/de/user/lexotanil445 https://dados.ufrn.br/de/user/bromazepam730 https://dados.ufrn.br/de/user/lyrica331 https://dados.ufrn.br/de/user/pregabalin682 https://dados.ufrn.br/de/user/adipex489 https://dados.ufrn.br/de/user/phentermin537 https://dados.ufrn.br/de/user/cytotec228 https://dados.ufrn.br/de/user/misoprostol355 https://dados.ufrn.br/de/user/ritalin325 https://dados.ufrn.br/de/user/concerta554 https://dados.ufrn.br/de/user/medikinet364 https://dados.ufrn.br/de/user/adderall605 https://dados.ufrn.br/de/user/elvanse356 https://dados.ufrn.br/de/user/modafinil479 https://dados.ufrn.br/fi/user/xanax588 https://dados.ufrn.br/fi/user/valium840 https://dados.ufrn.br/fi/user/ativan942 https://dados.ufrn.br/fi/user/temesta789 https://dados.ufrn.br/fi/user/rativor663 https://dados.ufrn.br/fi/user/stilnoct920 https://dados.ufrn.br/fi/user/ambien982 https://dados.ufrn.br/fi/user/imovane953 https://dados.ufrn.br/fi/user/tramadoli358 https://dados.ufrn.br/fi/user/tapentadoli532 https://dados.ufrn.br/fi/user/rivotril935 https://dados.ufrn.br/fi/user/rivatril942 https://dados.ufrn.br/fi/user/lexotanil955 https://dados.ufrn.br/fi/user/lyrica093 https://dados.ufrn.br/fi/user/adipex984 https://dados.ufrn.br/fi/user/cytotec354 https://dados.ufrn.br/fi/user/ritalin882 https://dados.ufrn.br/fi/user/adderall490 https://dados.ufrn.br/fi/user/concerta562 https://dados.ufrn.br/fi/user/elvanse856 https://dados.ufrn.br/fi/user/sonata782 https://dados.ufrn.br/fi/user/lunesta682 https://dados.ufrn.br/fi/user/modafiniili253 https://dados.ufrn.br/fi/user/karisoprodoli538 https://dados.ufrn.br/fi/user/midatsolaami835 https://dados.ufrn.br/fi/user/triatsolaami783 https://dados.ufrn.br/fi/user/tematsepaami856 https://dados.ufrn.br/fi/user/etitsolaami753 https://dados.ufrn.br/da_DK/user/xanax775 https://dados.ufrn.br/da_DK/user/valium858 https://dados.ufrn.br/da_DK/user/stesolid151 https://dados.ufrn.br/da_DK/user/ativan779 https://dados.ufrn.br/da_DK/user/stilnoct894 https://dados.ufrn.br/da_DK/user/ambien799 https://dados.ufrn.br/da_DK/user/imovane562 https://dados.ufrn.br/da_DK/user/tramadol559 https://dados.ufrn.br/da_DK/user/tapentadol537 https://dados.ufrn.br/da_DK/user/rivotril953 https://dados.ufrn.br/da_DK/user/lexotanil535 https://dados.ufrn.br/da_DK/user/bromam994 https://dados.ufrn.br/da_DK/user/lyrica944 https://dados.ufrn.br/da_DK/user/adipex995 https://dados.ufrn.br/da_DK/user/cytotec437 https://dados.ufrn.br/da_DK/user/ritalin746 https://dados.ufrn.br/da_DK/user/adderall538 https://dados.ufrn.br/da_DK/user/concerta527 https://dados.ufrn.br/da_DK/user/elvanse549 https://dados.ufrn.br/da_DK/user/sonata783 https://dados.ufrn.br/da_DK/user/lunesta268 https://dados.ufrn.br/da_DK/user/modafinil946 https://dados.ufrn.br/da_DK/user/carisoprodol122 https://dados.ufrn.br/da_DK/user/midazolam340 https://dados.ufrn.br/da_DK/user/triazolam942 https://dados.ufrn.br/da_DK/user/temazepam734 https://dados.ufrn.br/da_DK/user/etizolam520 https://dados.ufrn.br/pl/user/xanax548 https://dados.ufrn.br/pl/user/valium347 https://dados.ufrn.br/pl/user/ativan664 https://dados.ufrn.br/pl/user/tavor674 https://dados.ufrn.br/pl/user/stilnox883 https://dados.ufrn.br/pl/user/ambine732 https://dados.ufrn.br/pl/user/imovane240 https://dados.ufrn.br/pl/user/zimovane523 https://dados.ufrn.br/pl/user/tramadol984 https://dados.ufrn.br/pl/user/tapentadol249 https://dados.ufrn.br/pl/user/rivotril428 https://dados.ufrn.br/pl/user/lexotanil981 https://dados.ufrn.br/pl/user/lexotan426 https://dados.ufrn.br/pl/user/bromox924 https://dados.ufrn.br/pl/user/lyrica922 https://dados.ufrn.br/pl/user/adipex902 https://dados.ufrn.br/pl/user/cytotec872 https://dados.ufrn.br/pl/user/ritalin247 https://dados.ufrn.br/pl/user/adderall359 https://dados.ufrn.br/pl/user/concerta924 https://dados.ufrn.br/pl/user/elvanse952 https://dados.ufrn.br/pl/user/sonata539 https://dados.ufrn.br/pl/user/lunesta552 https://dados.ufrn.br/pl/user/modafinil357 https://dados.ufrn.br/pl/user/karizoprodol235 https://dados.ufrn.br/pl/user/midazolam110 https://dados.ufrn.br/pl/user/triazolam284 https://dados.ufrn.br/pl/user/temazepam357 https://dados.ufrn.br/pl/user/etizolam377 https://dados.ufrn.br/cs_CZ/user/xanax377 https://dados.ufrn.br/cs_CZ/user/valium859 https://dados.ufrn.br/cs_CZ/user/ativan462 https://dados.ufrn.br/cs_CZ/user/stilnox824 https://dados.ufrn.br/cs_CZ/user/stilnoct843 https://dados.ufrn.br/cs_CZ/user/ambien134 https://dados.ufrn.br/cs_CZ/user/imovane504 https://dados.ufrn.br/cs_CZ/user/tramadol359 https://dados.ufrn.br/cs_CZ/user/tapentadol935 https://dados.ufrn.br/cs_CZ/user/rivotril834 https://dados.ufrn.br/cs_CZ/user/lexotanil358 https://dados.ufrn.br/cs_CZ/user/lyrica943 https://dados.ufrn.br/cs_CZ/user/adipex955 https://dados.ufrn.br/cs_CZ/user/cytotec940 https://dados.ufrn.br/cs_CZ/user/ritalin788 https://dados.ufrn.br/cs_CZ/user/adderall326 https://dados.ufrn.br/cs_CZ/user/concerta873 https://dados.ufrn.br/cs_CZ/user/elvanse523 https://dados.ufrn.br/cs_CZ/user/sonata642 https://dados.ufrn.br/cs_CZ/user/lunesta593 https://dados.ufrn.br/cs_CZ/user/modafinil359 https://dados.ufrn.br/cs_CZ/user/carisoprodol158 https://dados.ufrn.br/cs_CZ/user/midazolam105 https://dados.ufrn.br/cs_CZ/user/triazolam924 https://dados.ufrn.br/cs_CZ/user/temazepam942 https://dados.ufrn.br/cs_CZ/user/etizolam829 https://dados.ufrn.br/pt_BR/user/xanax358 https://dados.ufrn.br/pt_BR/user/valium548 https://dados.ufrn.br/pt_BR/user/ativan842 https://dados.ufrn.br/pt_BR/user/lorenin358 https://dados.ufrn.br/pt_BR/user/ambien359 https://dados.ufrn.br/pt_BR/user/stilnox627 https://dados.ufrn.br/pt_BR/user/cymerion325 https://dados.ufrn.br/pt_BR/user/imovane552 https://dados.ufrn.br/pt_BR/user/tramadol239 https://dados.ufrn.br/pt_BR/user/tapentadol358 https://dados.ufrn.br/pt_BR/user/rivotril478 https://dados.ufrn.br/pt_BR/user/lexotan823 https://dados.ufrn.br/pt_BR/user/bromalex932 https://dados.ufrn.br/pt_BR/user/lyrica920 https://dados.ufrn.br/pt_BR/user/adipex929 https://dados.ufrn.br/pt_BR/user/cytotec828 https://dados.ufrn.br/pt_BR/user/ritalin881 https://dados.ufrn.br/pt_BR/user/adderall298 https://dados.ufrn.br/fr/user/alprazolam753 https://dados.ufrn.br/fr/user/diazepam744 https://dados.ufrn.br/fr/user/lorazepam239 https://dados.ufrn.br/fr/user/zolpidem482 https://dados.ufrn.br/fr/user/tramadol389 https://dados.ufrn.br/fr/user/bromazepam845 https://dados.ufrn.br/de/user/alprazolam667 https://dados.ufrn.br/de/user/diazepam993 https://dados.ufrn.br/de/user/lorazepam538 https://dados.ufrn.br/de/user/zolpidem313 https://dados.ufrn.br/de/user/tramadol235 https://dados.ufrn.br/de/user/bromazepam359 https://dados.ufrn.br/es/user/alprazolam539 https://dados.ufrn.br/es/user/diazepam352 https://dados.ufrn.br/es/user/lorazepam464 https://dados.ufrn.br/es/user/tramadol694 https://dados.ufrn.br/es/user/bromazepam834 https://dados.ufrn.br/it/user/alprazolam745 https://dados.ufrn.br/it/user/diazepam538 https://dados.ufrn.br/it/user/lorazepam350 https://dados.ufrn.br/it/user/zolpidem883 https://dados.ufrn.br/it/user/tramadolo771 https://dados.ufrn.br/it/user/bromazepam839 https://dados.ufrn.br/nl/user/alprazolam388 https://dados.ufrn.br/nl/user/diazepam667 https://dados.ufrn.br/nl/user/lorazepam358 https://dados.ufrn.br/nl/user/zolpidem119 https://dados.ufrn.br/nl/user/tramadol992 https://dados.ufrn.br/nl/user/bromazepam450 https://dados.ufrn.br/fi/user/alpratsolaami352 https://dados.ufrn.br/fi/user/diatsepaami889 https://dados.ufrn.br/fi/user/lorasepaami774 https://dados.ufrn.br/fi/user/tsolpideemi880 https://dados.ufrn.br/fi/user/tramadoli257 https://dados.ufrn.br/fi/user/bromatsepaami350 https://dados.ufrn.br/da_DK/user/alprazolam557 https://dados.ufrn.br/da_DK/user/diazepam429 https://dados.ufrn.br/da_DK/user/lorazepam248 https://dados.ufrn.br/da_DK/user/zolpidem250 https://dados.ufrn.br/da_DK/user/tramadol536 https://dados.ufrn.br/da_DK/user/bromazepam753 https://dados.ufrn.br/pt_BR/user/alprazolam724 https://dados.ufrn.br/pt_BR/user/diazepam428 https://dados.ufrn.br/pt_BR/user/lorazepam537 https://dados.ufrn.br/pt_BR/user/zolpidem166 https://dados.ufrn.br/pt_BR/user/tramadol592 https://dados.ufrn.br/pt_BR/user/bromazepam953 https://dados.ufrn.br/pl/user/alprazolam935 https://dados.ufrn.br/pl/user/diazepam530 https://dados.ufrn.br/pl/user/lorazepam359 https://dados.ufrn.br/pl/user/zolpidem554 https://dados.ufrn.br/pl/user/tramadol588 https://dados.ufrn.br/pl/user/bromazepam247 https://dados.ufrn.br/cs_CZ/user/alprazolam357 https://dados.ufrn.br/cs_CZ/user/diazepam635 https://dados.ufrn.br/cs_CZ/user/lorazepam188 https://dados.ufrn.br/cs_CZ/user/zolpidem350 https://dados.ufrn.br/cs_CZ/user/tramadol135 https://dados.ufrn.br/cs_CZ/user/bromazepam349 https://dados.ufrn.br/sv/user/oxycontin935 https://dados.ufrn.br/sv/user/oxynorm892 https://dados.ufrn.br/sv/user/piracetam420 https://dados.ufrn.br/sv/user/hydrokodon135 https://dados.ufrn.br/fr/user/oxycontin315 https://dados.ufrn.br/fr/user/oxynorm924 https://dados.ufrn.br/fr/user/piracetam913 https://dados.ufrn.br/fr/user/hydrocodone246 https://dados.ufrn.br/de/user/oxycontin913 https://dados.ufrn.br/de/user/oxygesic248 https://dados.ufrn.br/de/user/piracetam035 https://dados.ufrn.br/de/user/hydrocodon136 https://dados.ufrn.br/it/user/oxycontin591 https://dados.ufrn.br/it/user/oxynorm913 https://dados.ufrn.br/it/user/piracetam952 https://dados.ufrn.br/it/user/idrocodone335 https://dados.ufrn.br/es/user/oxycontin981 https://dados.ufrn.br/es/user/oxynorm518 https://dados.ufrn.br/es/user/piracetam843 https://dados.ufrn.br/es/user/hidrocodona527 https://dados.ufrn.br/nl/user/oxycontin357 https://dados.ufrn.br/nl/user/oxynorm752 https://dados.ufrn.br/nl/user/oxycodon428 https://dados.ufrn.br/nl/user/piracetam951 https://dados.ufrn.br/nl/user/hydrocodon362

Benutzerautorisierung

administrators (intermediate)

AuthUser is PmWiki's identity-based authorization system that allows access to pages to be controlled through the use of usernames and passwords. AuthUser can be used in addition to the password-based scheme that is PmWiki's default configuration.

AuthUser is a very flexible system for managing access control on pages, but flexibility can also bring complexity and increased maintenance overhead to the wiki administrator. This is why PmWiki defaults to the simpler password-based system. For some thoughts about the relative merits of the two approaches, see PmWiki:ThoughtsOnAccessControl.

See also: Cookbook:Quick Start for AuthUser.

Activating AuthUser

To activate PmWiki's identity-based system, add the following line to local/config.php:

    include_once("$FarmD/scripts/authuser.php");

Ensure that you have set a site wide admin password, otherwise you will not be able to edit SiteAdmin.AuthUser.

Note: Older versions of PmWiki (before 2.2.0-beta58) use Site.AuthUser.

PmWiki caches some group and page authorization levels when a page is accessed. For this reason, it is better to include authuser.php quite early in config.php, notably

  • after any recipe which inserts some custom writable PageStore class (MySQL, SQLite, Compressed PageStore or other)
  • and after any internationalization (UTF-8 and XLPage).

(If you don't use a custom PageStore class and i18n, include authuser.php first thing in config.php.)

All other recipes should be included after these.

Creating user accounts

Most of AuthUser's configuration is performed via the SiteAdmin.AuthUser page. To change the AuthUser configuration, simply edit this page like any other wiki page (you'll typically need to use the site's admin password for this).

To create a login account, simply add lines to SiteAdmin.AuthUser that look like:

    username: (:encrypt password:)

For example, to create a login account for "alice" with a password of "restaurant", enter:

    alice: (:encrypt restaurant:)

When the page is saved, the "(:encrypt restaurant:)" part of the text will be replaced by an encrypted form of the password "restaurant". This encryption is done so that someone looking at the SiteAdmin.AuthUser page cannot easily determine the passwords stored in the page.

To change or reset an account's password, simply replace the encrypted string with another (:encrypt:) directive.

The password cannot contain spaces, tabs, new lines, colon ":" and equals "="; on some systems it should contain at least 4 characters. Usernames and passwords are case sensitive, eg. "User" is not the same as "user".

Controlling access to pages by login

Pages and groups can be protected based on login account by using "passwords" of the form id:username in the password fields of ?action=attr (see PmWiki.Passwords). For example, to restrict a page to being edited by Alice, one would set the password to "id:alice".

It's possible to use multiple "id:" declarations and passwords in the ?action=attr form, thus the following setting would allow access to Alice, Carol, and anyone who knows the password "quick":

    quick id:alice,carol

To allow access to anyone who has successfully logged in, use "id:*".

One can also perform site-wide restrictions based on identity in the $DefaultPasswords array (in local/config.php): e.g.

    # require valid login before viewing pages
    $DefaultPasswords['read'] = 'id:*';
    # Alice and carol may edit
    $DefaultPasswords['edit'] = 'id:alice,carol';
    # All admins and Fred may edit
    $DefaultPasswords['edit'] = array('@admins', 'id:Fred');

You can change the $DefaultPasswords array in local customization files such as:

  • local/config.php (for entire wiki)
  • farmconfig.php (for entire wikifarm)

Organizing accounts into groups

AuthUser also makes it possible to group login accounts together into authorization groups, indicated by a leading "@" sign. As with login accounts, group memberships are maintained by editing the SiteAdmin.AuthUser page. Group memberships can be specified by either listing the groups for a login account (person belongs to groups) or the login accounts for a group (group includes people). You can repeat or mix-and-match the two kinds as desired:

    @writers: alice, bob
    carol: @writers, @editors
    @admins: alice, dave

Then, to restrict page access to a particular group, simply use "@group" as the "password" in ?action=attr or the $DefaultPasswords array, similar to the way that "id:username" is used to restrict access to specific login accounts.

Excluding individuals from password groups

Group password memberships are maintained by editing the SiteAdmin.AuthUser page. To specify a password group that allows access to anyone who is authenticated, you can specify:

    @wholeoffice: *

If you need to keep "Fred" out of this password group :

    @wholeoffice: *,-Fred

To allow all users except Fred to change page attributes, for example, you can add to config.php :

    $DefaultPasswords['attr'] = array('id:*,-Fred');

Getting account names and passwords from external sources

The AuthUser script has the capability of obtaining username/password pairs from places other than the SiteAdmin.AuthUser page, such as passwd-formatted files (usually called '.htpasswd' on Apache servers), LDAP servers, or even the local/config.php file.

Passwd-formatted files (.htpasswd/.htgroup)

Passwd-formatted files, commonly called .htpasswd files in Apache, are text files where each line contains a username and an encrypted password separated by a colon. A typical .htpasswd file might look like:

    alice:vK99sgDV1an6I
    carol:Q1kSeNcTfwqjs

To get AuthUser to obtain usernames and passwords from a .htaccess file, add the following line to SiteAdmin.AuthUser, replacing "/path/to/.htpasswd" with the filesystem path of the .htpasswd file:

    htpasswd: /path/to/.htpasswd

Creation and maintenance of the .htpasswd file can be performed using a text editor, or any number of other third-party tools available for maintaining .htpasswd files. The Apache web server typically includes an htpasswd command for creating accounts in .htpasswd:

    $ htpasswd /path/to/.htpasswd alice
    New password:
    Re-type new password:
    Adding password for user alice
    $

Similarly, one can use .htgroup formatted files to specify group memberships. Each line has the name of a group (without the "@"), followed by a colon, followed by a space separated list of usernames in the group.

    writers: carol
    editors: alice carol bob
    admins: alice dave

Note that the groups are still "@writers", "@editors", and "@admins" in PmWiki even though the file doesn't specify the @ signs. To get AuthUser to load these groups, use a line in SiteAdmin.AuthUser like:

    htgroup: /path/to/.htgroup

Configuration via local/config.php

AuthUser configuration settings can also be made from the local/config.php file in addition to the SiteAdmin.AuthUser page. Such settings are placed in the $AuthUser array, and must be set prior to including the authuser.php script. Some examples:

    # set a password for alice
    $AuthUser['alice'] = pmcrypt('restaurant');
    # set a password for carol
    $AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';
    # define the @editors group
    $AuthUser['@editors'] = array('alice', 'carol', 'bob');
    # Use local/.htpasswd for usernames/passwords
    $AuthUser['htpasswd'] = 'local/.htpasswd';
    # Use local/.htgroup for group memberships
    $AuthUser['htgroup'] = 'local/.htgroup';

Configuration via LDAP

Authentication can be performed via an external LDAP server -- simply set an entry for "ldap" in either SiteAdmin.AuthUser or the local/config.php file.

    # use ldap.airius.com for authentication
    $AuthUser['ldap'] = 'ldap://ldap.airius.com/ou=People,o=Airius?cn?sub';

Make sure to include AuthUser below the entry for the ldap server:

    # Want to use AuthUser so we can use ldap for passwords
    include_once("$FarmD/scripts/authuser.php");

And remember to assign the Security Variables for edit and history (or whatever):

    #Security Variables set login for edit & history page
    # to let anyone edit that has an ldap entry:
    $HandleAuth['diff'] = 'edit';
    $DefaultPasswords['edit'] = 'id:*';
    $Author = $AuthId;

LDAP authentication in AuthUser closely follows the model used by Apache 2.0's mod_auth_ldap module; see especially the documentation for AuthLDAPUrl for a description of the url format.

For servers that don't allow anonymous binds, AuthUser provides $AuthLDAPBindDN and $AuthLDAPBindPassword variables to specify the binding to be used for searching.

See also Cookbook:AuthUser via Microsoft LDAP

Setting the Author Name

By default, PmWiki will use a login name in the Author field of the edit form, but allows the author to change this value prior to saving. To force the login name to always be used as the author name, use the following sequence in config.php to activate AuthUser:

    include_once("$FarmD/scripts/authuser.php");
    $Author = $AuthId; # after include_once()

To allow more flexibility, but still enable changes to be linked to the authorized user, one can give the author name a prefix of the $AuthId instead:

    include_once("$FarmD/scripts/author.php");
    include_once("$FarmD/scripts/authuser.php");
    if ($Author) {
	if (strstr($Author, '-') != false) {
	    $Author = "$AuthId-" . preg_replace('/^[^-]*-/', '', $Author);
	} else if ($Author != $AuthId) {
	    $Author = $AuthId . '-' . $Author;
	} else {
	    $Author = $AuthId;
	}
    } else {
	$Author = $AuthId;
    }
    $AuthorLink = "[[~$Author]]";

The above will allow the user to put in the author name of their choice, but that will always be replaced by that name prefixed with "$AuthId-". The reason why $AuthorLink needs to be set is that, if it isn't, the RecentChanges page will have the wrong link in it.

Removing the "Author" edit field

To force users to edit with their AuthID instead of having a field they can place any name in. This enables administration to keep track of who is doing what better. This line also links the Author name to their Profile.
Go to Site.EditForm, remove the line
$[Author]: (:input e_author:)
or replace it with
$[Author]: [[Profiles/{$Author}]]

Authorization, Sessions, and WikiFarms

PmWiki uses PHP sessions to keep track of any user authorization information. By default PHP is configured so that all interactions with the same server (as identified by the server's domain name) are treated as part of the same session.

What this means for PmWiki is that if there are multiple wikis running within the same domain name, PHP will treat a login to one wiki as being valid for all wikis in the same domain. The easiest fix is to tell each wiki to have use a different "session cookie". Near the top of a wiki's local/config.php file, before calling authuser or other recipes, add a line like:

session_name('XYZSESSID');

The XYZSESSID can be any unique name (letters only is safest). For the exact naming rules please lookup the description in the PHP manual for the PHP version you use on your server.

Security Reminder: Using different session names in cookies and/or URLs helps against inter-wiki confusion in a browser, but this is not a protection against session injection attacks on the server. See Cookbook:Session Security Advice for that.

See Also

FAQ

Can I specify authorization group memberships from with local/config.php?

Yes -- put the group definition into the $AuthUser array (in config.php):

        $AuthUser['@editors'] = array('alice', 'carol', 'bob');

Can I have multiple admin groups?

Yes, define the groups with array('@admins', '@moderators'); like this:

  $DefaultPasswords['admin'] = array( pmcrypt('masterpass'), # global password
    '@admins', '@moderators', # +users in these groups
    'id:Fred', 'id:Barney');  # +users Fred and Barney

I'm running multiple wikis under the same domain name, and logins from one wiki are appearing on other wikis. Shouldn't they be independent?

This is caused by the way that PHP treats sessions. See PmWiki.AuthUser#sessions for more details.

Is there any way to record the time of the last login for each user when using AuthUser? I need a way to look for stale accounts.

See Cookbook:UserLastAction.

Though every setting seems correct, authentication against LDAP is not working. There is nothing in ldap log, what's wrong?

Be sure ldap php module is installed ( on debian apt-get install php(4|5)-ldap ; apache(2)ctl graceful )

The login form asks for username and password, but only password matters.

Username can be left blank and it still signs in under the account. Is this intentional and if so, can I change it so that the username and password must both be entered? - X 1/18/07 Never mind I think this has something to do with using the admin password. I created a test account and it's working ok.

Make sure you are not entering the admin password when testing the account because, if the password is equal to the admin password, it will authenticate directly through the config.php file and skip any other system.

Do note that even with AuthUser activated you can still log in with a blank username and only entering the password. In that case any password you enter will be "accepted" but only passwords which authenticate in the given context will actually give you any authorization rights. Using this capability AuthUser comfortably coexists with the default password-based system.

If you want to require both username and password, then you need to set an admin id before including authuser.php:

## Define usernames and passwords.
$AuthUser['carol'] = '$1$CknC8zAs$dC8z2vu3UvnIXMfOcGDON0';

## Enable authentication based on username.
include_once('scripts/authuser.php');

# $DefaultPasswords['admin'] = pmcrypt('secret');
$DefaultPasswords['admin'] = 'id:carol';

A username and password will then be required before login is successful.

Is there any way to hide IP addresses once someone has logged in so that registered users can keep their IP addresses invisible to everyone except administrators? - X 1/18/07

Yes, see solution provided at PITS:00400.

Is there a way that people could self-register through AuthUser?

You can see HtpasswdForm or UserAdmin for recipes providing this feature.

I would like it that after I have AuthUser turned and a user is authenticated to get on my site, that if I have a password put on a particular page or group that they don't get the AuthUser form to show up (username and password), but only the typical field for password?

See this thread of the mailing list.


This page may have a more recent version on pmwiki.org: PmWiki:AuthUser, and a talk page: PmWiki:AuthUser-Talk.

Bearbeiten - Versionen - Druckansicht - Aktuelle Änderungen - Suchen
Zuletzt geändert am 10.11.2020 20:38 Uhr