ColdFusion 10活动目录身份验证

6
当ColdFusion首次发布jRun引擎时,许多用户中的一个问题是如何在Windows AD环境下进行身份验证?当时(如果我没记错),Macromedia免费提供了一个cfc,它使用一个或多个Java类文件创建了一个Java对象,这些类文件与jRun一起提供(该组件的相关函数代码将在本消息的末尾显示,但不包括归属)。该代码已经适用于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位。如果有任何想分享的想法,请告诉我,谢谢。
以下是代码片段:
    <!--- 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
既然你正在使用IIS,那么你可以让它为你处理身份验证,对吗? - Miguel-F
请参考此处给出的答案:https://dev59.com/A0fRa4cB1Zd3GeqP_LDB#2320369,您能否使用`coldfusion.security.NTAuthentication`代替`jrun.security.NTAuth`? - duncan
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接