Combination in progress (#1151)
This commit is contained in:
parent
a8cb294037
commit
2982abb589
|
@ -470,22 +470,10 @@ sub attributes {
|
||||||
'k' => 'AD',
|
'k' => 'AD',
|
||||||
'v' => 'Active Directory'
|
'v' => 'Active Directory'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'k' => 'Choice',
|
|
||||||
'v' => 'authChoice'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'CAS',
|
|
||||||
'v' => 'Central Authentication Service (CAS)'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'k' => 'DBI',
|
'k' => 'DBI',
|
||||||
'v' => 'Database (DBI)'
|
'v' => 'Database (DBI)'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'k' => 'Demo',
|
|
||||||
'v' => 'Demonstration'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'k' => 'Facebook',
|
'k' => 'Facebook',
|
||||||
'v' => 'Facebook'
|
'v' => 'Facebook'
|
||||||
|
@ -498,42 +486,10 @@ sub attributes {
|
||||||
'k' => 'LDAP',
|
'k' => 'LDAP',
|
||||||
'v' => 'LDAP'
|
'v' => 'LDAP'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'k' => 'Multi',
|
|
||||||
'v' => 'Multiple'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'Null',
|
|
||||||
'v' => 'None'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'OpenID',
|
|
||||||
'v' => 'OpenID'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'OpenIDConnect',
|
|
||||||
'v' => 'OpenID Connect'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'Proxy',
|
|
||||||
'v' => 'Proxy'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'k' => 'Radius',
|
'k' => 'Radius',
|
||||||
'v' => 'Radius'
|
'v' => 'Radius'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'k' => 'Remote',
|
|
||||||
'v' => 'Remote'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'SAML',
|
|
||||||
'v' => 'SAML v2'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'k' => 'Slave',
|
|
||||||
'v' => 'Slave'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'k' => 'SSL',
|
'k' => 'SSL',
|
||||||
'v' => 'SSL'
|
'v' => 'SSL'
|
||||||
|
@ -549,6 +505,50 @@ sub attributes {
|
||||||
{
|
{
|
||||||
'k' => 'Yubikey',
|
'k' => 'Yubikey',
|
||||||
'v' => 'Yubikey'
|
'v' => 'Yubikey'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Demo',
|
||||||
|
'v' => 'Demonstration'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Choice',
|
||||||
|
'v' => 'authChoice'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Combination',
|
||||||
|
'v' => 'combineMods'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'CAS',
|
||||||
|
'v' => 'Central Authentication Service (CAS)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'OpenID',
|
||||||
|
'v' => 'OpenID'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'OpenIDConnect',
|
||||||
|
'v' => 'OpenID Connect'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'SAML',
|
||||||
|
'v' => 'SAML v2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Proxy',
|
||||||
|
'v' => 'Proxy'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Remote',
|
||||||
|
'v' => 'Remote'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Slave',
|
||||||
|
'v' => 'Slave'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Null',
|
||||||
|
'v' => 'None'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
'type' => 'select'
|
'type' => 'select'
|
||||||
|
@ -659,7 +659,89 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
|
||||||
},
|
},
|
||||||
'combModules' => {
|
'combModules' => {
|
||||||
'keyTest' => qr/^\w+$/,
|
'keyTest' => qr/^\w+$/,
|
||||||
'test' => sub {
|
'select' => [
|
||||||
|
{
|
||||||
|
'k' => 'Apache',
|
||||||
|
'v' => 'Apache'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'AD',
|
||||||
|
'v' => 'Active Directory'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'DBI',
|
||||||
|
'v' => 'Database (DBI)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Facebook',
|
||||||
|
'v' => 'Facebook'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Google',
|
||||||
|
'v' => 'Google'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'LDAP',
|
||||||
|
'v' => 'LDAP'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Radius',
|
||||||
|
'v' => 'Radius'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'SSL',
|
||||||
|
'v' => 'SSL'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Twitter',
|
||||||
|
'v' => 'Twitter'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'WebID',
|
||||||
|
'v' => 'WebID'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Yubikey',
|
||||||
|
'v' => 'Yubikey'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Demo',
|
||||||
|
'v' => 'Demonstration'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'CAS',
|
||||||
|
'v' => 'Central Authentication Service (CAS)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'OpenID',
|
||||||
|
'v' => 'OpenID'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'OpenIDConnect',
|
||||||
|
'v' => 'OpenID Connect'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'SAML',
|
||||||
|
'v' => 'SAML v2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Proxy',
|
||||||
|
'v' => 'Proxy'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Remote',
|
||||||
|
'v' => 'Remote'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Slave',
|
||||||
|
'v' => 'Slave'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'k' => 'Null',
|
||||||
|
'v' => 'None'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
},
|
},
|
||||||
'type' => 'cmbModuleContainer'
|
'type' => 'cmbModuleContainer'
|
||||||
|
|
|
@ -1772,28 +1772,28 @@ sub attributes {
|
||||||
authentication => {
|
authentication => {
|
||||||
type => 'select',
|
type => 'select',
|
||||||
select => [
|
select => [
|
||||||
{ k => 'Apache', v => 'Apache' },
|
{ k => 'Apache', v => 'Apache' },
|
||||||
{ k => 'AD', v => 'Active Directory' },
|
{ k => 'AD', v => 'Active Directory' },
|
||||||
{ k => 'Choice', v => 'authChoice' },
|
{ k => 'DBI', v => 'Database (DBI)' },
|
||||||
|
{ k => 'Facebook', v => 'Facebook' },
|
||||||
|
{ k => 'Google', v => 'Google' },
|
||||||
|
{ k => 'LDAP', v => 'LDAP' },
|
||||||
|
{ k => 'Radius', v => 'Radius' },
|
||||||
|
{ k => 'SSL', v => 'SSL' },
|
||||||
|
{ k => 'Twitter', v => 'Twitter' },
|
||||||
|
{ k => 'WebID', v => 'WebID' },
|
||||||
|
{ k => 'Yubikey', v => 'Yubikey' },
|
||||||
|
{ k => 'Demo', v => 'Demonstration' },
|
||||||
|
{ k => 'Choice', v => 'authChoice' },
|
||||||
|
{ k => 'Combination', v => 'combineMods' },
|
||||||
{ k => 'CAS', v => 'Central Authentication Service (CAS)' },
|
{ k => 'CAS', v => 'Central Authentication Service (CAS)' },
|
||||||
{ k => 'DBI', v => 'Database (DBI)' },
|
{ k => 'OpenID', v => 'OpenID' },
|
||||||
{ k => 'Demo', v => 'Demonstration' },
|
|
||||||
{ k => 'Facebook', v => 'Facebook' },
|
|
||||||
{ k => 'Google', v => 'Google' },
|
|
||||||
{ k => 'LDAP', v => 'LDAP' },
|
|
||||||
{ k => 'Multi', v => 'Multiple' },
|
|
||||||
{ k => 'Null', v => 'None' },
|
|
||||||
{ k => 'OpenID', v => 'OpenID' },
|
|
||||||
{ k => 'OpenIDConnect', v => 'OpenID Connect' },
|
{ k => 'OpenIDConnect', v => 'OpenID Connect' },
|
||||||
{ k => 'Proxy', v => 'Proxy' },
|
|
||||||
{ k => 'Radius', v => 'Radius' },
|
|
||||||
{ k => 'Remote', v => 'Remote' },
|
|
||||||
{ k => 'SAML', v => 'SAML v2' },
|
{ k => 'SAML', v => 'SAML v2' },
|
||||||
|
{ k => 'Proxy', v => 'Proxy' },
|
||||||
|
{ k => 'Remote', v => 'Remote' },
|
||||||
{ k => 'Slave', v => 'Slave' },
|
{ k => 'Slave', v => 'Slave' },
|
||||||
{ k => 'SSL', v => 'SSL' },
|
{ k => 'Null', v => 'None' },
|
||||||
{ k => 'Twitter', v => 'Twitter' },
|
|
||||||
{ k => 'WebID', v => 'WebID' },
|
|
||||||
{ k => 'Yubikey', v => 'Yubikey' },
|
|
||||||
],
|
],
|
||||||
default => 'Demo',
|
default => 'Demo',
|
||||||
documentation => 'Authentication module',
|
documentation => 'Authentication module',
|
||||||
|
@ -2269,14 +2269,36 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
|
||||||
|
|
||||||
# Combination
|
# Combination
|
||||||
combination => {
|
combination => {
|
||||||
type => 'text',
|
type => 'text',
|
||||||
documentation => 'Combination rule'
|
documentation => 'Combination rule'
|
||||||
},
|
},
|
||||||
combModules => {
|
combModules => {
|
||||||
type => 'cmbModuleContainer',
|
type => 'cmbModuleContainer',
|
||||||
keyTest => qr/^\w+$/,
|
keyTest => qr/^\w+$/,
|
||||||
test => sub {1},
|
test => sub { 1 },
|
||||||
documentation => 'Combination module description'
|
documentation => 'Combination module description',
|
||||||
|
select => [
|
||||||
|
{ k => 'Apache', v => 'Apache' },
|
||||||
|
{ k => 'AD', v => 'Active Directory' },
|
||||||
|
{ k => 'DBI', v => 'Database (DBI)' },
|
||||||
|
{ k => 'Facebook', v => 'Facebook' },
|
||||||
|
{ k => 'Google', v => 'Google' },
|
||||||
|
{ k => 'LDAP', v => 'LDAP' },
|
||||||
|
{ k => 'Radius', v => 'Radius' },
|
||||||
|
{ k => 'SSL', v => 'SSL' },
|
||||||
|
{ k => 'Twitter', v => 'Twitter' },
|
||||||
|
{ k => 'WebID', v => 'WebID' },
|
||||||
|
{ k => 'Yubikey', v => 'Yubikey' },
|
||||||
|
{ k => 'Demo', v => 'Demonstration' },
|
||||||
|
{ k => 'CAS', v => 'Central Authentication Service (CAS)' },
|
||||||
|
{ k => 'OpenID', v => 'OpenID' },
|
||||||
|
{ k => 'OpenIDConnect', v => 'OpenID Connect' },
|
||||||
|
{ k => 'SAML', v => 'SAML v2' },
|
||||||
|
{ k => 'Proxy', v => 'Proxy' },
|
||||||
|
{ k => 'Remote', v => 'Remote' },
|
||||||
|
{ k => 'Slave', v => 'Slave' },
|
||||||
|
{ k => 'Null', v => 'None' },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
# Yubikey
|
# Yubikey
|
||||||
|
|
|
@ -18,14 +18,14 @@
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="form-control" ng-model="currentNode.data.type" ng-change="execFilters(_findScopeByKey('authParams'))">
|
<select class="form-control" ng-model="currentNode.data.type" ng-change="execFilters(_findScopeByKey('authParams'))">
|
||||||
<option ng-repeat="item in _findContainer().select" ng-selected="item.k==currentNode.data[i]" value="{{item.k}}">{{item.v}}</option>
|
<option ng-repeat="item in _findContainer().select" ng-selected="item.k==currentNode.data.type" value="{{item.k}}">{{item.v}}</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="form-control" ng-model="currentNode.data.for">
|
<select class="form-control" ng-model="currentNode.data.for">
|
||||||
<option value="0" trspan="authAndUserdb">
|
<option value="0" ng-selected="currentNode.data.for===0" trspan="authAndUserdb">
|
||||||
<option value="0" trspan="authOnly">
|
<option value="1" ng-selected="currentNode.data.for===1" trspan="authOnly">
|
||||||
<option value="0" trspan="userdbOnly">
|
<option value="2" ng-selected="currentNode.data.for===2" trspan="userdbOnly">
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -18,14 +18,14 @@
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="form-control" ng-model="s.data.type" ng-change="execFilters(_findScopeByKey('authParams'))">
|
<select class="form-control" ng-model="s.data.type" ng-change="execFilters(_findScopeByKey('authParams'))">
|
||||||
<option ng-repeat="item in currentNode.select[i]" ng-selected="item.k==s.data.type" value="{{item.k}}">{{item.v}}</option>
|
<option ng-repeat="item in currentNode.select" ng-selected="item.k==s.data.type" value="{{item.k}}">{{item.v}}</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="form-control" ng-model="s.data.for">
|
<select class="form-control" ng-model="s.data.for">
|
||||||
<option value="0" trspan="authAndUserdb">
|
<option value="0" ng-selected="s.data.for===0" trspan="authAndUserdb">
|
||||||
<option value="0" trspan="authOnly">
|
<option value="1" ng-selected="s.data.for===1" trspan="authOnly">
|
||||||
<option value="0" trspan="userdbOnly">
|
<option value="2" ng-selected="s.data.for===2" trspan="userdbOnly">
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
|
|
@ -123,6 +123,10 @@
|
||||||
"choiceParams": "Choice parameters",
|
"choiceParams": "Choice parameters",
|
||||||
"chooseLogo": "Choose logo",
|
"chooseLogo": "Choose logo",
|
||||||
"chooseSkin": "Choose skin",
|
"chooseSkin": "Choose skin",
|
||||||
|
"combination": "Combination",
|
||||||
|
"combinationParams": "Combination parameters",
|
||||||
|
"combineMods": "Combination of modules",
|
||||||
|
"combModules": "Module list",
|
||||||
"comment": "Comment",
|
"comment": "Comment",
|
||||||
"comments": "Comments",
|
"comments": "Comments",
|
||||||
"condition": "Condition",
|
"condition": "Condition",
|
||||||
|
@ -350,6 +354,8 @@
|
||||||
"newChain": "New chain",
|
"newChain": "New chain",
|
||||||
"newCat": "New category",
|
"newCat": "New category",
|
||||||
"newCfgAvailable": "A new configuration is available",
|
"newCfgAvailable": "A new configuration is available",
|
||||||
|
"newCmbMod": "New module",
|
||||||
|
"newCmbOver": "New parameter",
|
||||||
"newEntry": "New entry",
|
"newEntry": "New entry",
|
||||||
"newGrantRule": "New grant rule",
|
"newGrantRule": "New grant rule",
|
||||||
"newHost": "New host",
|
"newHost": "New host",
|
||||||
|
|
|
@ -123,6 +123,10 @@
|
||||||
"choiceParams": "Paramètres des choix",
|
"choiceParams": "Paramètres des choix",
|
||||||
"chooseLogo": "Choisir le logo",
|
"chooseLogo": "Choisir le logo",
|
||||||
"chooseSkin": "Choisir le thème",
|
"chooseSkin": "Choisir le thème",
|
||||||
|
"combination": "Combinaison",
|
||||||
|
"combinationParams": "Paramètres de combinaison",
|
||||||
|
"combineMods": "Combinaison de modules",
|
||||||
|
"combModules": "Liste des modules",
|
||||||
"comment": "Commentaire",
|
"comment": "Commentaire",
|
||||||
"comments": "Commentaires",
|
"comments": "Commentaires",
|
||||||
"condition": "Condition",
|
"condition": "Condition",
|
||||||
|
@ -350,6 +354,8 @@
|
||||||
"newChain": "Nouvelle chaîne",
|
"newChain": "Nouvelle chaîne",
|
||||||
"newCat": "Nouvelle catégorie",
|
"newCat": "Nouvelle catégorie",
|
||||||
"newCfgAvailable": "Une nouvelle configuration est disponible",
|
"newCfgAvailable": "Une nouvelle configuration est disponible",
|
||||||
|
"newCmbMod": "Nouveau module",
|
||||||
|
"newCmbOver": "Nouveau paramètre",
|
||||||
"newEntry": "Nouvelle entrée",
|
"newEntry": "Nouvelle entrée",
|
||||||
"newGrantRule": "Nouvelle règle d'accès",
|
"newGrantRule": "Nouvelle règle d'accès",
|
||||||
"newHost": "Nouvel hôte",
|
"newHost": "Nouvel hôte",
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user