PHPackages                             titledk/silverstripe-memberpages - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. titledk/silverstripe-memberpages

ActiveSilverstripe-module[Authentication &amp; Authorization](/categories/authentication)

titledk/silverstripe-memberpages
================================

Programmatically make your pages accessible only to members and/or cetain member groups

01202PHP

Since Feb 27Pushed 10y ago2 watchersCompare

[ Source](https://github.com/titledk/silverstripe-memberpages)[ Packagist](https://packagist.org/packages/titledk/silverstripe-memberpages)[ RSS](/packages/titledk-silverstripe-memberpages/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

SilverStripe Memberpages
========================

[](#silverstripe-memberpages)

*Programmatically make your pages accessible only to members and/or cetain member groups*

This module helps you when working with page types that should be restricted from members that have not been logged in, and/or restricted to a certain group.
While that behavior can easily be achieved via the CMS, sometimes you just want this to be the default, and not changeable by any users of the CMS.
This could especially be the case for sites with several languages, where the Sitetree can easily get cluttered up, but also just to keep things streamlined while working on a project with several developers, test servers etc.

Beyond that, we just sometimes like it better to define page permissions via code.

Features
--------

[](#features)

- Pages extending `MembersOnlyPage` are only accessible by members
- Modules like blogs, forums etc can be extended with the `MembersOnlyPageExtension`
- Per default a page is shown to all logged in members. You can change that default by setting the `$dictatedViewerGroups` array in your page

Usage
-----

[](#usage)

Either extend `MembersOnlyPage`, or (if that's not possible), use the `MembersOnlyPageExtension`.

In order to only allow certain groups, add the following to your page:

```
public $dictatedViewerGroups = array(
	'allowedgroupcode1',
	'allowedgroupcode2'
);

```

Example
-------

[](#example)

In the frontend you'll only notice that pages are only available to the members you define, in the backend you'll notice that the section where you can change permissions is no longer editable by the user, and instead looks something like this:

[![memberpages admin example](https://camo.githubusercontent.com/ad5eca895798ecd5ccd18329b2af2177c04524df3500c4e79b5bf597a3bbbea3/68747470733a2f2f7261772e6769746875622e636f6d2f7469746c65646b2f73696c7665727374726970652d6d656d62657270616765732f6d61737465722f646f63732f696d616765732f61646d696e2e706e67)](https://camo.githubusercontent.com/ad5eca895798ecd5ccd18329b2af2177c04524df3500c4e79b5bf597a3bbbea3/68747470733a2f2f7261772e6769746875622e636f6d2f7469746c65646b2f73696c7665727374726970652d6d656d62657270616765732f6d61737465722f646f63732f696d616765732f61646d696e2e706e67)

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/13746b594daa08825bdaeea495edaa9e8868cb9e352f929e0c617e72b4cbde70?d=identicon)[titledk](/maintainers/titledk)

---

Top Contributors

[![anselmdk](https://avatars.githubusercontent.com/u/1316533?v=4)](https://github.com/anselmdk "anselmdk (3 commits)")

### Embed Badge

![Health badge](/badges/titledk-silverstripe-memberpages/health.svg)

```
[![Health](https://phpackages.com/badges/titledk-silverstripe-memberpages/health.svg)](https://phpackages.com/packages/titledk-silverstripe-memberpages)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
