access configuration, Lockdown extension
This commit is contained in:
parent
a3ca928130
commit
5d3a1de061
2 changed files with 101 additions and 4 deletions
|
|
@ -160,7 +160,19 @@ wfLoadExtension( 'OpenIDConnect' );
|
||||||
wfLoadExtension( 'SemanticMediaWiki' );
|
wfLoadExtension( 'SemanticMediaWiki' );
|
||||||
enableSemantics( 'orgawiki.ctbk.de' );
|
enableSemantics( 'orgawiki.ctbk.de' );
|
||||||
|
|
||||||
# Add more configuration options below.
|
wfLoadExtension( 'Lockdown' );
|
||||||
|
|
||||||
|
#### Namespace config
|
||||||
|
define('NS_FSCK', 100);
|
||||||
|
define('NS_FSCK_TALK', 101);
|
||||||
|
define('NS_VEREIN', 200);
|
||||||
|
define('NS_VEREIN_TALK', 201);
|
||||||
|
$wgExtraNamespaces[NS_FSCK] = 'FSCK';
|
||||||
|
$wgExtraNamespaces[NS_FSCK_TALK] = 'FSCK_Diskussion';
|
||||||
|
$wgExtraNamespaces[NS_VEREIN] = 'Verein';
|
||||||
|
$wgExtraNamespaces[NS_VEREIN_TALK] = 'Verein_Diskussion';
|
||||||
|
|
||||||
|
#### Permissions
|
||||||
|
|
||||||
# Disable account creation - we only use SSO accounts
|
# Disable account creation - we only use SSO accounts
|
||||||
$wgGroupPermissions['*']['autocreateaccount'] = true;
|
$wgGroupPermissions['*']['autocreateaccount'] = true;
|
||||||
|
|
@ -170,8 +182,60 @@ $wgGroupPermissions['sysop']['createaccount'] = true;
|
||||||
# Also disable reading/editing by non-logged-in users, making the wiki properly private
|
# Also disable reading/editing by non-logged-in users, making the wiki properly private
|
||||||
$wgGroupPermissions['*']['read'] = false;
|
$wgGroupPermissions['*']['read'] = false;
|
||||||
$wgGroupPermissions['*']['edit'] = false;
|
$wgGroupPermissions['*']['edit'] = false;
|
||||||
|
$wgGroupPermissions['*']['createpage'] = false;
|
||||||
|
$wgGroupPermissions['*']['createtalk'] = false;
|
||||||
|
# Remove tons of permissions from standard users
|
||||||
|
$wgGroupPermissions['user']['edit'] = false;
|
||||||
|
$wgGroupPermissions['user']['read'] = false;
|
||||||
|
$wgGroupPermissions['user']['createpage'] = false;
|
||||||
|
$wgGroupPermissions['user']['createtalk'] = false;
|
||||||
|
$wgGroupPermissions['user']['upload'] = false;
|
||||||
|
$wgGroupPermissions['user']['reupload'] = false;
|
||||||
|
$wgGroupPermissions['user']['reupload-shared'] = false;
|
||||||
|
$wgGroupPermissions['user']['movefile'] = false;
|
||||||
|
$wgGroupPermissions['user']['move-rootuserpages'] = false;
|
||||||
|
$wgGroupPermissions['user']['move-categorypages'] = false;
|
||||||
|
$wgGroupPermissions['user']['move-subpages'] = false;
|
||||||
|
$wgGroupPermissions['user']['move'] = false;
|
||||||
|
# give all the user groups basic rights -- taken away by Lockdown again mostly, but Lockdown cannot give permissions that don’t exist on the user
|
||||||
|
$wgGroupPermissions['orga-users']['edit'] = true;
|
||||||
|
$wgGroupPermissions['orga-users']['read'] = true;
|
||||||
|
$wgGroupPermissions['orga-users']['createpage'] = true;
|
||||||
|
$wgGroupPermissions['orga-fsck']['edit'] = true;
|
||||||
|
$wgGroupPermissions['orga-fsck']['read'] = true;
|
||||||
|
$wgGroupPermissions['orga-fsck']['createpage'] = true;
|
||||||
|
$wgGroupPermissions['orga-verein']['edit'] = true;
|
||||||
|
$wgGroupPermissions['orga-verein']['read'] = true;
|
||||||
|
$wgGroupPermissions['orga-verein']['createpage'] = true;
|
||||||
|
|
||||||
# SSO config
|
# sysop rights
|
||||||
|
$wgGroupPermissions['sysop']['edit'] = true;
|
||||||
|
$wgGroupPermissions['sysop']['read'] = true;
|
||||||
|
$wgGroupPermissions['sysop']['createpage'] = true;
|
||||||
|
|
||||||
|
#### Lockdown configuration
|
||||||
|
$wgSpecialPageLockdown['Export'] = ['user'];
|
||||||
|
$wgSpecialPageLockdown['Recentchanges'] = ['user'];
|
||||||
|
|
||||||
|
# remove most namespace permissions
|
||||||
|
$wgNamespacePermissionLockdown['*']['read'] = ['sysop'];
|
||||||
|
$wgNamespacePermissionLockdown['*']['edit'] = ['sysop'];
|
||||||
|
$wgNamespacePermissionLockdown['*']['createpage'] = ['sysop'];
|
||||||
|
|
||||||
|
# limit template workaround
|
||||||
|
$wgNonincludableNamespaces[] = [ NS_MAIN, NS_PROJECT, NS_VEREIN, NS_FSCK ];
|
||||||
|
|
||||||
|
# FSCK namespace
|
||||||
|
$wgNamespacePermissionLockdown[NS_FSCK]['read'] = [ 'orga-fsck' ];
|
||||||
|
$wgNamespacePermissionLockdown[NS_FSCK]['edit'] = [ 'orga-fsck' ];
|
||||||
|
$wgNamespacePermissionLockdown[NS_FSCK]['createpage'] = [ 'orga-fsck' ];
|
||||||
|
|
||||||
|
# Verein namespace
|
||||||
|
$wgNamespacePermissionLockdown[NS_VEREIN]['read'] = [ 'orga-verein' ];
|
||||||
|
$wgNamespacePermissionLockdown[NS_VEREIN]['edit'] = [ 'orga-verein' ];
|
||||||
|
$wgNamespacePermissionLockdown[NS_VEREIN]['createpage'] = [ 'orga-verein' ];
|
||||||
|
|
||||||
|
#### SSO config
|
||||||
# necessary to allow admin user(s) to login
|
# necessary to allow admin user(s) to login
|
||||||
$wgPluggableAuth_EnableLocalLogin = true;
|
$wgPluggableAuth_EnableLocalLogin = true;
|
||||||
$wgPluggableAuth_Config["Chaostreff Backnang IdP"] = [
|
$wgPluggableAuth_Config["Chaostreff Backnang IdP"] = [
|
||||||
|
|
@ -179,7 +243,21 @@ $wgPluggableAuth_Config["Chaostreff Backnang IdP"] = [
|
||||||
'data' => [
|
'data' => [
|
||||||
'providerURL' => 'https://idp.ctbk.de/realms/ctbk/',
|
'providerURL' => 'https://idp.ctbk.de/realms/ctbk/',
|
||||||
'clientID' => 'orga_mediawiki',
|
'clientID' => 'orga_mediawiki',
|
||||||
|
'scope' => [ 'openid', 'profile', 'email', 'groups' ],
|
||||||
'clientsecret' => $ctbkClientSecret
|
'clientsecret' => $ctbkClientSecret
|
||||||
|
],
|
||||||
|
'groupsyncs' => [
|
||||||
|
[
|
||||||
|
'type' => 'mapped',
|
||||||
|
'map' => [
|
||||||
|
'sysop' => [ 'groups' => '/mediawiki/admins' ],
|
||||||
|
'bureaucrat' => [ 'groups' => '/mediawiki/admins' ],
|
||||||
|
'interface-admin' => [ 'groups' => '/mediawiki/admins' ],
|
||||||
|
'orga-users' => [ 'groups' => '/orgawiki/users' ],
|
||||||
|
'orga-fsck' => [ 'groups' => '/todo-fsck-orga' ],
|
||||||
|
'orga-verein' => [ 'groups' => '/todo-verein-orga' ]
|
||||||
|
]
|
||||||
|
]
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -195,6 +273,8 @@ $wgHideInterlanguageLinks = false;
|
||||||
#$wgShowDBErrorBacktrace = true;
|
#$wgShowDBErrorBacktrace = true;
|
||||||
|
|
||||||
$wgNamespacesWithSubpages[NS_MAIN] = true;
|
$wgNamespacesWithSubpages[NS_MAIN] = true;
|
||||||
|
$wgNamespacesWithSubpages[NS_FSCK] = true;
|
||||||
|
$wgNamespacesWithSubpages[NS_VEREIN] = true;
|
||||||
$wgNamespacesWithSubpages[NS_TEMPLATE] = true;
|
$wgNamespacesWithSubpages[NS_TEMPLATE] = true;
|
||||||
|
|
||||||
# use proxy ip addresses -- we’re behind (at least) one reverse proxy that sets X-Forwarded-For
|
# use proxy ip addresses -- we’re behind (at least) one reverse proxy that sets X-Forwarded-For
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,23 @@
|
||||||
{
|
{
|
||||||
"type": "vcs",
|
"type": "vcs",
|
||||||
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/OpenIDConnect"
|
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/OpenIDConnect"
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"type": "package",
|
||||||
|
"package": {
|
||||||
|
"name": "x-mediawiki/lockdown",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"type": "mediawiki-extension",
|
||||||
|
"extra": {
|
||||||
|
"installer-name": "Lockdown"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gerrit.wikimedia.org/r/mediawiki/extensions/Lockdown",
|
||||||
|
"reference": "REL1_39"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"starcitizentools/citizen-skin": "^2.39",
|
"starcitizentools/citizen-skin": "^2.39",
|
||||||
|
|
@ -12,7 +28,8 @@
|
||||||
"mediawiki/semantic-compound-queries": "^2.2",
|
"mediawiki/semantic-compound-queries": "^2.2",
|
||||||
"mediawiki/semantic-extra-special-properties": "^3",
|
"mediawiki/semantic-extra-special-properties": "^3",
|
||||||
"mediawiki/semantic-media-wiki": "^4.2",
|
"mediawiki/semantic-media-wiki": "^4.2",
|
||||||
"mediawiki/semantic-result-formats": "^4.2"
|
"mediawiki/semantic-result-formats": "^4.2",
|
||||||
|
"x-mediawiki/lockdown": "^1"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"preferred-install": "source",
|
"preferred-install": "source",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue