zondag 31 maart 2013

Gecontroleerde en beperkte toegang voor gebruik plugin in Wordpress

Dit was een nieuwe avontuur voor me. Ik ben bezig met een nieuw concept voor dewebmeester.nl: een online website builder tool waarmee klanten zelf een mobiele website kunnen maken of onderhouden. Dat concept is al aardig uitgewerkt maar hoe geef ik klanten nu beperkte toegang tot het gebruik van deze Wordpress plugin?

Situatie:

  • Ik heb een Wordpress website met verschillende thema's, plugins, pagina's enzovoorts.

  • Nu wil ik 1 plugin beschikbaar stellen voor gebruik aan klanten van dewebmeester.nl

  • Wordpress biedt standaard eigenlijk maar twee mogelijkheden wat betreft gebruikers: 1) Een gebruiker is een administrator en heeft toegang tot alles of 2) een gebruiker is geen administrator en heeft al dan niet toegang tot de content (blog posts) van de website.

  • Kortom: Wordpress biedt standaard niet de mogelijkheid om een gebruiker beperkte toegang te geven tot back -end (dashboard). Je hebt of helemaal toegang, of helemaal niet.


Het heeft me wel enige uren geduurd voor ik de oplossing gevonden heb en hem verschillende plugins geprobeerd zoals: - s2members -, - members - en - user role editor - maar die bieden allemaal niet de mogelijkheid om administrators (degenen die toegang tot dashboard hebben) verschillende permissies te geven. De scheiding blijft: of wel, of geen toegang tot dashboard. Maar ik wil een gedeeltelijke toegang tot dashboard.

De oplossing:

Elke plugin definieerd voor zichzelf de toegangs permissies. En Wordpress plugins maken allemaal standaard gebruik van de Wordpress settings: alle administratoren hebben toegang tot alle plugins. Hier stappenplan om tot andere situatie te komen:

  1. Download de complete plugin folder naar de harde schijf

  2. Open deze plugin folder met het programma EditPadPro en zorg dat het programma alle files uit de subfolders opent (geweldig dat EditPadPro dit kan!)

  3. Zoek vervolgens naar alle verwijzingen naar - manage_options - binnen deze files en:

  4. Om Editors toegang tot de plugin te verlenen, verander  'manage_options' in 'edit_pages'.
    Om Authors toegang tot de plugin te verlenen, verander  'manage_options' in 'publish_posts'.
    Om Contributors toegang tot de plugin te verlenen, verander  'manage_options' in 'edit_posts'.
    Om Subscribers toegang tot de plugin te verlenen, verander  'manage_options' in 'read'.


Ik heb in de options.php file van de plugin - manage-options - verandert in - edit_pages - en elke gebruiker die Editor is krijgt vervolgens onderstaand dashboard te zien na inloggen:

mobilesitebuilder1

Netjes toch? De Editor heeft toegang gekregen tot de Mobile Site Builder van www.mobilesitebuilder.nl maar kan geen enkele post aanpassen die hijzelf niet eerst gemaakt heeft. Zelfs tools zijn niet beschikbaar (behalve Press This). De Editor kan de Mobiele Site Builder gebruiken, zijn eigen posts aanpassen en eventueel wat gegevens in zijn profiel aanpassen. Ik ben blij.

Geen opmerkingen:

Een reactie posten