Slave in progress

This commit is contained in:
Xavier Guimard 2010-12-08 10:42:53 +00:00
parent 7c2cc91098
commit 3d5709cd0a
4 changed files with 21 additions and 11 deletions

View File

@ -280,7 +280,7 @@ sub struct {
_nodes => [ _nodes => [
'applicationlist:/applicationList:menuCatAndApp:applicationListCategory' 'applicationlist:/applicationList:menuCatAndApp:applicationListCategory'
], ],
_js => 'applicationListCategoryRoot', _js => 'applicationListCategoryRoot',
_help => 'menuCatAndApp', _help => 'menuCatAndApp',
}, },
}, },
@ -575,9 +575,10 @@ sub struct {
# Slave # Slave
slaveParams => { slaveParams => {
_nodes => [qw(slaveAuthnLevel)], _nodes => [qw(slaveAuthnLevel slaveUserAttr)],
_help => 'authSlave', _help => 'authSlave',
slaveAuthnLevel => 'int:/slaveAuthnLevel', slaveAuthnLevel => 'int:/slaveAuthnLevel',
slaveUserAttr => 'int:/slaveUserAttr',
}, },
# Choice # Choice
@ -618,14 +619,14 @@ sub struct {
issuerDBCASPath => 'text:/issuerDBCASPath', issuerDBCASPath => 'text:/issuerDBCASPath',
issuerDBCASRule => issuerDBCASRule =>
'text:/issuerDBCASRule:issuerdbCAS:boolOrPerlExpr', 'text:/issuerDBCASRule:issuerdbCAS:boolOrPerlExpr',
issuerDBCASOptions => { issuerDBCASOptions => {
_nodes => [qw(casAttr casStorage cn:casStorageOptions)], _nodes => [qw(casAttr casStorage cn:casStorageOptions)],
casAttr => 'text:/casAttr', casAttr => 'text:/casAttr',
casStorage => 'text:/casStorage', casStorage => 'text:/casStorage',
casStorageOptions => { casStorageOptions => {
_nodes => _nodes =>
['hash:/casStorageOptions:issuerDBCAS:btext'], ['hash:/casStorageOptions:issuerDBCAS:btext'],
_js => 'hashRoot', _js => 'hashRoot',
_help => 'issuerdbCAS', _help => 'issuerdbCAS',
}, },
}, },
@ -637,7 +638,7 @@ sub struct {
_help => 'issuerdbOpenID', _help => 'issuerdbOpenID',
issuerDBOpenIDActivation => issuerDBOpenIDActivation =>
'bool:/issuerDBOpenIDActivation', 'bool:/issuerDBOpenIDActivation',
issuerDBOpenIDPath => 'text:/issuerDBOpenIDPath', issuerDBOpenIDPath => 'text:/issuerDBOpenIDPath',
issuerDBOpenIDRule => issuerDBOpenIDRule =>
'text:/issuerDBOpenIDRule:issuerdbOpenID:boolOrPerlExpr', 'text:/issuerDBOpenIDRule:issuerdbOpenID:boolOrPerlExpr',
issuerDBOpenIDOptions => { issuerDBOpenIDOptions => {
@ -708,7 +709,7 @@ sub struct {
globalStorageOptions => { globalStorageOptions => {
_nodes => _nodes =>
['hash:/globalStorageOptions:sessionsdb:btext'], ['hash:/globalStorageOptions:sessionsdb:btext'],
_js => 'hashRoot', _js => 'hashRoot',
_help => 'sessionsdb', _help => 'sessionsdb',
}, },
}, },
@ -778,7 +779,7 @@ sub struct {
userControl => 'text:/userControl', userControl => 'text:/userControl',
portalForceAuthn => 'bool:/portalForceAuthn', portalForceAuthn => 'bool:/portalForceAuthn',
key => 'text:/key', key => 'text:/key',
trustedDomains => 'text:/trustedDomains', trustedDomains => 'text:/trustedDomains',
}, },
redirection => { redirection => {
@ -1115,7 +1116,7 @@ sub struct {
samlStorageOptions => { samlStorageOptions => {
_nodes => _nodes =>
['hash:/samlStorageOptions:samlServiceAdvanced:btext'], ['hash:/samlStorageOptions:samlServiceAdvanced:btext'],
_js => 'hashRoot', _js => 'hashRoot',
_help => 'samlServiceAdvanced', _help => 'samlServiceAdvanced',
}, },
samlCommonDomainCookie => { samlCommonDomainCookie => {
@ -1655,6 +1656,10 @@ sub testStruct {
# Slave # Slave
slaveAuthnLevel => $integer, slaveAuthnLevel => $integer,
slaveUserAttr => {
test => qr/^[_a-zA-Z]\w*$/,
msgFail => 'Bad attribute name',
},
# Choice # Choice
authChoiceParams => $testNotDefined, authChoiceParams => $testNotDefined,

View File

@ -257,6 +257,8 @@ sub en {
singleIP => 'One IP only by user', singleIP => 'One IP only by user',
singleSession => 'One session only by user', singleSession => 'One session only by user',
singleUserByIP => 'One user by IP address', singleUserByIP => 'One user by IP address',
slaveAuthnLevel => 'Authentication level',
slaveParams => 'Slave parameters',
SMTPServer => 'SMTP server', SMTPServer => 'SMTP server',
soap => 'SOAP', soap => 'SOAP',
Soap => 'Activation', Soap => 'Activation',
@ -641,6 +643,8 @@ sub fr {
singleIP => 'Une seule IP par utilisateur', singleIP => 'Une seule IP par utilisateur',
singleSession => 'Une seule session par utilisateur', singleSession => 'Une seule session par utilisateur',
singleUserByIP => 'Une seule adresse IP par utilisateur', singleUserByIP => 'Une seule adresse IP par utilisateur',
slaveAuthnLevel => 'Niveau d\'authentification',
slaveParams => 'Paramètres Slave',
SMTPServer => 'Serveur SMTP', SMTPServer => 'Serveur SMTP',
soap => 'SOAP', soap => 'SOAP',
Soap => 'Activation', Soap => 'Activation',

View File

@ -18,7 +18,6 @@ our @ISA = qw(Lemonldap::NG::Portal::AuthNull);
sub setAuthSessionInfo { sub setAuthSessionInfo {
my $self = shift; my $self = shift;
$self->{sessionInfo}->{'_user'} = 'anonymous';
$self->{sessionInfo}->{authenticationLevel} = $self->{slaveAuthnLevel}; $self->{sessionInfo}->{authenticationLevel} = $self->{slaveAuthnLevel};
PE_OK; PE_OK;

View File

@ -17,12 +17,14 @@ our @ISA = qw(Lemonldap::NG::Portal::UserDBNull);
# @return Lemonldap::NG::Portal constant # @return Lemonldap::NG::Portal constant
sub setSessionInfo { sub setSessionInfo {
my $self = shift; my $self = shift;
my $c = 0; my $c = 0;
while ( my ( $k, $v ) = each %{ $self->{exportedVars} } ) { while ( my ( $k, $v ) = each %{ $self->{exportedVars} } ) {
$v = 'HTTP_' . uc($v); $v = 'HTTP_' . uc($v);
$v =~ s/\-/_/g; $v =~ s/\-/_/g;
$self->{sessionInfo}->{$k} = $ENV{$v} and $c++; $self->{sessionInfo}->{$k} = $ENV{$v} and $c++;
} }
$self->{sessionInfo}->{'_user'} ||=
$self->{sessionInfo}->{ $self->{slaveUserAttr} };
return ( $c ? PE_OK : PE_USERNOTFOUND ); return ( $c ? PE_OK : PE_USERNOTFOUND );
} }