ColdFusion 10 Active Directory身份验证

时间:2014-05-16 21:27:46

标签: authentication coldfusion active-directory coldfusion-10

当首次使用jRun引擎发布ColdFusion时,许多用户当时的一个问题是我们如何针对Windows AD环境进行身份验证?当时(如果我没记错的话),Macromedia可以免费使用cfc,它使用一个或多个与jRun一起提供的Java类文件创建一个Java对象(组件的相关功能代码出现在末尾)此消息没有归属)并执行了“身份验证过程”。我认为我们的小员工不是多年来唯一使用该代码的开发人员。

我们一直在将该代码用于CF服务器的版本6-9。代码运行良好,但是使用CF 10并取消jRun作为底层Java服务器,代码不再起作用,因为类文件不包含在Tomcat服务器中。还有其他人处于或处于类似情况吗?如果是这样,您是如何影响到CF 10的过渡并继续对Microsoft Active Directory进行身份验证的?

在我们的特定业务环境中,LDAP未配置为进行身份验证,因此针对LDAP进行身份验证不是我们的选项,并且LDAP控制不在我们的小部门范围内(由我们领域之外的中央IT部门处理)影响)。至于我们的本地服务器,我们运行Windows Server 2008 R2,IIS 7.5,JRE 1.7 64位和ColdFusion 10 SE 64位。如果有人有任何想法分享,我将不胜感激阅读。

CODE SNIPPET跟随

    <!--- 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 个答案:

答案 0 :(得分:2)

cfldap可用于Active Directory身份验证。可能有比这更好的例子:http://www.sixfive.com.au/2005/01/cfldap-and-user-authentication-on-active-directory/

正如评论中所建议的那样,IIS也能够对AD进行身份验证。