我正在将NodeJS应用程序从v4.X升级到使用PassportJS的v8.X。使我的问题更加复杂的是,我是Passport的新手,并且我正在重建Docker容器内的应用程序。该应用程序依赖Passport-WindowsAuth来针对LDAP服务器对用户进行身份验证。我已对[{3}}进行了审核,但在那里可以帮助我理解以下代码片段:
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的部分:'"是一个正则表达式。除此之外,我有点失落。
谢谢,