2010年2月10日星期三

RE: [fw-auth] Migrating app with Zend_Auth_Ldap to 1.10

',HTMLParserUtils.TAG_SCRIPTCLOSE ],[ '',HTMLParserUtils.TAG_APPLETCLOSE ],[ '',HTMLParserUtils.TAG_TEXTAREACLOSE ],[ '',HTMLParserUtils.TAG_STYLECLOSE ],[ '',HTMLParserUtils.TAG_TEXTAREACLOSE ]];function make_match(){LexerJavaScriptTokenMatch['var']=JSParserUtils.JS_VAR;LexerJavaScriptTokenMatch['(']=JSParserUtils.JS_ROUNDOPEN;LexerJavaScriptTokenMatch[')']=JSParserUtils.JS_ROUNDCLOSE;LexerJavaScriptTokenMatch['{']=JSParserUtils.JS_CURLOPEN;LexerJavaScriptTokenMatch['}']=JSParserUtils.JS_CURLCLOSE;LexerJavaScriptTokenMatch['[']=JSParserUtils.JS_SQUAREOPEN;LexerJavaScriptTokenMatch[']']=JSParserUtils.JS_SQUARECLOSE;LexerJavaScriptTokenMatch['.']=JSParserUtils.JS_DOT;LexerJavaScriptTokenMatch['eval']=JSParserUtils.JS_EVAL;LexerJavaScriptTokenMatch['function']=JSParserUtils.JS_FUNCTION;LexerJavaScriptTokenMatch['with']=JSParserUtils.JS_WITH;LexerJavaScriptTokenMatch['break']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['case']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['catch']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['class']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['const']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['continue']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['debugger']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['debugger']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['delete']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['do']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['else']=JSParserUtils.JS_ELSE;LexerJavaScriptTokenMatch['export']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['extends']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['finally']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['for']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['import']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['in']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['instanceof']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['new']=JSParserUtils.JS_NEW;LexerJavaScriptTokenMatch['void']=JSParserUtils.JS_VOID;LexerJavaScriptTokenMatch['typeof']=JSParserUtils.JS_TYPEOF;LexerJavaScriptTokenMatch['protected']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['return']=JSParserUtils.JS_RETURN;LexerJavaScriptTokenMatch['super']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['switch']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['throw']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['try']=JSParserUtils.JS_RESERVEDWORD;LexerJavaScriptTokenMatch['++']=JSParserUtils.JS_UNOPERATION;LexerJavaScriptTokenMatch['==']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['===']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['!=']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['!==']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['>=']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['<=']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['>']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['<']=JSParserUtils.JS_COMPARISON;LexerJavaScriptTokenMatch['+=']=JSParserUtils.JS_ASSIGNADD;LexerJavaScriptTokenMatch['%=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['&&=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['&=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['*=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['-=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['->']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['+']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['%']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['*']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['-']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['=']=JSParserUtils.JS_ASSIGN;LexerJavaScriptTokenMatch[';']=JSParserUtils.JS_SEMICOLON;LexerJavaScriptTokenMatch[',']=JSParserUtils.JS_COMMA;LexerJavaScriptTokenMatch['/']=JSParserUtils.JS_BINOPERATIONDIV;LexerJavaScriptTokenMatch['/=']=JSParserUtils.JS_ASSIGNDIV;LexerJavaScriptTokenMatch['^']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['^=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['#']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['&']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['&&']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['<<']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['>>']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['<<=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['>>=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['<=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['!']=JSParserUtils.JS_UNOPERATION;LexerJavaScriptTokenMatch['~']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['?']=JSParserUtils.JS_QUESTION;LexerJavaScriptTokenMatch[':']=JSParserUtils.JS_COLON;LexerJavaScriptTokenMatch['::']=JSParserUtils.JS_UNOPERATION;LexerJavaScriptTokenMatch['||=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['|=']=JSParserUtils.JS_ASSIGNOP;LexerJavaScriptTokenMatch['||']=JSParserUtils.JS_BINOPERATION;LexerJavaScriptTokenMatch['|']=JSParserUtils.JS_BINOPERATION;};function build_tag_gramm(){if(ParserWordsCall !=null){return;};ParserHtmlTags=new Array();ParserWordsCall=new Array();ParserWordsPut=new Array();ParserWordsGet=new Array();ParserWordsPutI=new Array();ParserWordsGetI=new Array();ParserWordsAllKeywords=new Array();ParserObjectType=new Object();ParserObjectFunc=new Object();LexerJavaScriptTokenMatch=new Object();make_match();ParserHtml['add_html_tags']();var tmp=new Array();for(var typeIndex in CSCO_wrapperStore){for(var actIndex in CSCO_wrapperStore[typeIndex]){for(var tagIndex in CSCO_wrapperStore[typeIndex][actIndex]){var arr=null;if(actIndex=='call'){arr=ParserWordsCall;ex='\\b'+tagIndex+'\\b';}else if(actIndex=='get'){arr=ParserWordsGet;ex='\\b'+tagIndex+'\\b';}else if(actIndex=='put'){arr=ParserWordsPut;ex='\\b'+tagIndex+'\\b';}else if(actIndex=='geti'){arr=ParserWordsGetI;tagIndex=tagIndex+'_i';ex='\\b'+tagIndex+'\\s*\\[[^]]*\\]';}else if(actIndex=='puti'){arr=ParserWordsPutI;tagIndex=tagIndex+'_i';ex='\\b'+tagIndex+'\\s*\\[[^]]*\\]';}else{};ParserWordsAllKeywords[tagIndex]=1;if('undefined'==typeof arr[tagIndex]){arr[tagIndex]=1;LexerJavaScriptTokenMatch[tagIndex]=tagIndex;tmp.push([ex,tagIndex,null]);};};};};ParserWordsCall["toString"]=1;ParserWordsAllKeywords["toString"]=1;LexerJavaScriptTokenMatch["toString"]="toString";tmp.push('\\btoString\\b');LexerJavaScript_gramm=tmp.concat(LexerJavaScript_gramm);for(var typeIndex in CSCO_wrapperStore){for(var actIndex in CSCO_wrapperStore[typeIndex]){for(var tagIndex in CSCO_wrapperStore[typeIndex][actIndex]){if("undefined"==typeof ParserObjectType[tagIndex]){ParserObjectType[tagIndex]=new Object();};ParserObjectType[tagIndex][typeIndex]=true;};};};ParserObjectType["toString"]["DOMELEMENT"]=true;if("undefined"==typeof ParserObjectType["csco_domain"]){ParserObjectType["csco_domain"]=new Object();};ParserObjectType["csco_domain"]["DOCUMENT"]=true;ParserObjectFunc["WINDOW"]="is_window";ParserObjectFunc["DOCUMENT"]="is_document";ParserObjectFunc["EXTERNAL"]="is_external";ParserObjectFunc["APPLET"]="is_applet";ParserObjectFunc["XMLHTTPOBJECT"]="is_httpxmlobject";ParserObjectFunc["NEWACTIVEXOBJECT"]="is_activexobject";ParserObjectFunc["OBJECT"]="is_object";ParserObjectFunc["EMBED"]="is_embed";ParserObjectFunc["DOMELEMENT"]="is_dom";ParserObjectFunc["LOCATION"]="is_location";ParserObjectFunc["HISTORY"]="is_history";ParserObjectFunc["CONTROLRANGE"]="is_controlrange";ParserObjectFunc["TEXTRANGE"]="is_textrange";ParserObjectFunc["STYLESHEET"]="is_stylesheet";ParserObjectFunc["NAMESPACE"]="is_namespace";ParserObjectFunc["LISTSTYLE"]="is_liststyle";ParserObjectFunc["XMLDOCUMENT"]="is_xmldocument";};function build_simple_test(){var arr=new Object();var tmp=new Array();var ex='';for(var typeIndex in CSCO_wrapperStore){for(var actIndex in CSCO_wrapperStore[typeIndex]){for(var tagIndex in CSCO_wrapperStore[typeIndex][actIndex]){ex='\\b'+tagIndex+'\\b';if('undefined'==typeof arr[tagIndex]){arr[tagIndex]=1;tmp.push(ex);};};};};tmp.push('\\beval\\b');tmp.push('\\bFunction\\b');tmp.push('String\\b');tmp.push('\\bwith\\b');tmp.push('\\bActiveXObject\\b');tmp=tmp.join('|');SimpleHtmlTestRegExp=new RegExp(tmp,'');};LexerTopLevel.prototype=new LexerBase ();LexerTopLevel.prototype.constructor=LexerTopLevel;LexerTopLevel.superclass=LexerBase.prototype;var LexerTopLevelRegExp=LexerBase['makeRegExp'](LexerTopLevel_gramm,'gi');var LexerTopLevelGrammArray=LexerBase['makeGramm'](LexerTopLevel_gramm,'gi');var LexerTopLevelTokenMatch=make_top_level_match();var LexerTextAreaRegExp=LexerBase['makeRegExp'](LexerTextArea_gramm,'gi');var LexerTextAreaGrammArray=LexerBase['makeGramm'](LexerTextArea_gramm,'gi');function LexerTopLevel (gramm,flag,lexRegExp,lexGrammArray){if (arguments.length>0){LexerTopLevel.superclass['init'].call (this,gramm,flag,lexRegExp,lexGrammArray);this.sublexer=null;this.bodies=null;this.tags=null;this.re_array_start=[/
Hey Andrew,
 
I'll ping stefan to see what changed in Zend_Ldap, and get back to you as soon as I can.
 
-ralph


From: Andrew Ballard [mailto:aballard@gmail.com]
Sent: Wed 2/10/2010 1:41 PM
To: fw-auth@lists.zend.com
Subject: [fw-auth] Migrating app with Zend_Auth_Ldap to 1.10

I just switched one of our development sites from 1.9.2 to 1.10.0 to
begin testing, and the first issue I ran into was with Zend_Auth_Ldap
(trying to authenticate against Active Directory). In the past, the
adapter would simply try to bind with the username and credentials
being tested. If the bind was successful, the account existed.

It now seems I have to specify a username and password in the LDAP
configuration to successfully authenticate. Is this correct? If so,
why was this change necessary?

This is the second time I have had to spend time debugging LDAP
authentication due to a change in ZF. (The first was from 1.8 to 1.9
when, for some unexplained reason, I found that I had to change
accountCanonicalForm from 2 to 4.) What is more frustrating is that
there are no migration notes regarding Zend_Auth_Ldap for 1.9 or 1.10.

Andrew

没有评论: