Я в процессе обновления приложения NodeJS с v4.X до v8.X, использующего PassportJS.Моя проблема усугубляется тем фактом, что я новичок в Passport и перестраиваю приложение внутри контейнера Docker.Приложение использует Passport-WindowsAuth для аутентификации пользователей на сервере LDAP.Я просмотрел документацию , но там мало что может помочь мне понять следующий фрагмент кода:
profile._json.memberOf.forEach(function(e){
if ( e === 'CN=Group 1,OU=ConfidentialGroup,DC=com' ) user.tokens.push({ kind: '^.*$' });
if ( e === 'CN=Group 2,OU=ConfidentialGroup,DC=com' ) user.tokens.push({ kind: '^/security.*' });
if ( [ 'CN=Group 1,OU=ConfidentialGroup,DC=com' ].indexOf(e) >= 0 ) {
user.tokens.push({ kind: '^/server(/env133)?(/batch.*)?$' });
}
if ( [ 'CN=Group 3,OU=ConfidentialGroup,DC=com',
'CN=Group 4,OU=ConfidentialGroup,DC=com',
'CN=Group 5,OU=ConfidentialGroup,DC=com' ].indexOf(e) >= 0 ) {
user.tokens.push({ kind: '^/server(/env133)?(/batch.*)?$' });
}
Буду вечно благодарен, если кто-то сможет объяснить, что делает приведенный выше код,Я знаю, что часть, следующая за «kind:», является регулярным выражением.Помимо этого, я немного потерян.
Спасибо,