2010-09-10 73 views
0

目前,我正在使用ColdFusion 8和SQL Server的单点登录项目2005年单点登录 - 使用ColdFusion - (外部用户和Intranet用户)

当前系统允许内部和外部用户登录-in和SQL Server 2005数据库进行身份验证,但是我需要更改该过程。

  1. 内部用户:我想在这里做的,使用Active Directory进行身份验证的内部用户和旁路用户登录屏幕
  2. 外部用户:需要到登录界面登录到系统中。

什么是最佳实施方式?我需要在IIS下启用Active Directory身份验证的步骤是什么?

任何示例示例都很好的帮助。

感谢

回答

3

注:我没有尝试过使用IIS/IE/AD集成。

我对IIS/IE/AD内置授权的理解是它在这里不起作用。它要求您打开目录和/或站点的IIS身份验证,只有使用Internet Explorer的客户端才能使用它,并且不会将这些凭据传递给CF.也就是说,如果你想允许匿名访问它,这将不是一件容易的事。您可以使用反向代理解决某些问题,但这并不简单。

如果你想仍然使用AD来验证用户身份,我应该这样做:

  • 目前登录屏幕使用CFLDAP
  • 如果AD登录失败,请检查针对SQL对AD
  • 支票凭证就像你现在所做的那样

这可以让你保持AD上的内部用户和SQL上的外部用户。此外,它给你一个非常明确的方式来确定他们是哪种类型的用户。

+0

嗨Ben,这将是一个很好的解决方案,但是我的客户端想要绕过登录屏幕并通过Active Directory和SQL服务器进行身份验证,以进行进一步的角色检查和处理。同时,外部用户需要认证SQL Server数据库。 – 2010-09-10 15:12:39

+0

你可以使用IIS/AD来保护一个伪造普通员工登录的文件,但是我想不出以这种方式将实际的凭证写入CF的方法。 – 2010-09-10 17:46:06

0

你也可以使用cfheader来做你的肮脏工作。

<cfheader statuscode="401"> 
<cfheader name="www-Authenticate" value="Basic realm=""My Web Application"""> 

您可以捕获提交的值并通过cfntauthenticate传递它们。

+0

我的理解是,这只能捕获基本身份验证,而不能集成Windows身份验证。我错了吗? – 2010-09-10 19:09:37