6

Quando ColdFusion è stato rilasciato per la prima volta con il motore jRun, una domanda alla volta tra molti utenti era Come autenticarsi nel nostro ambiente Windows AD? Al momento (se ricordo bene), un cfc è stato reso disponibile gratuitamente da Macromedia che ha creato un oggetto Java utilizzando uno o più file di classe Java che sono stati resi disponibili insieme a jRun (il codice funzione rilevante del componente appare alla fine di questo messaggio non ha attribuzione) e ha eseguito il "processo di autenticazione". Presumo che il nostro piccolo staff non sia stato l'unico sviluppatore a utilizzare quel codice nel corso degli anni.ColdFusion 10 Autenticazione directory attiva

Questo codice è stato utilizzato per le versioni 6-9 del server CF. Il codice ha funzionato bene, ma con CF 10 e l'eliminazione di jRun come server Java sottostante, il codice non funziona più poiché il file di classe non è incluso nel server Tomcat. Ci sono altri che sono o erano in una situazione simile? In tal caso, in che modo ha influito sulla transizione a CF 10 e continua ad autenticarsi con Microsoft Active Directory?

Nel nostro particolare ambiente aziendale, LDAP non è configurato per l'autenticazione, pertanto l'autenticazione con LDAP non è un'opzione per noi e il controllo LDAP non rientra nell'ambito del nostro piccolo reparto (gestito da un'autorità IT centrale oltre la nostra sfera di influenza). Per quanto riguarda i nostri server locali, eseguiamo Windows Server 2008 R2, IIS 7.5, JRE 1.7 64 bit e ColdFusion 10 SE 64 bit. Se qualcuno ha qualche idea da condividere, mi farebbe piacere leggerli.

frammento di codice SEGUE

<!--- Authenticates the user and outputs true on success and false on failure. ---> 
    <CFFUNCTION NAME="authenticateUser" ACCESS="REMOTE" OUTPUT="yes" STATIC="yes" HINT="Authenticates the user."> 
      <CFARGUMENT NAME="userid" TYPE="string" REQUIRED="true" /> 
      <CFARGUMENT NAME="passwd" TYPE="string" REQUIRED="true" /> 
      <CFARGUMENT NAME="domain" TYPE="string" REQUIRED="true" /> 

      <CFTRY> 
        <CFSCRIPT> 
        ntauth = createObject("java", "jrun.security.NTAuth"); 
        ntauth.init(arguments.domain); 
        // authenticateUser throws an exception if it fails, 
        // so we don't have anything specific here 
        ntauth.authenticateUser(arguments.userid, arguments.passwd); 
        auth = true; 
        </CFSCRIPT> 

      <CFCATCH> 
        <CFSET auth = false> 
      </CFCATCH> 
      </CFTRY> 

      <CFRETURN AUTH> 
    </CFFUNCTION> 
+1

Dato che si sta utilizzando IIS, è sufficiente gestire l'autenticazione? –

+0

Vedere la risposta fornita qui: http://stackoverflow.com/a/2320369/492335 puoi usare 'coldfusion.security.NTAuthentication' invece di' jrun.security.NTAuth'? – duncan

risposta