Web services 如何改进Perl Dancer应用程序中的身份验证
我正在开发一个Perl Dancer web应用程序,它需要在身份验证方面完成两件事:Web services 如何改进Perl Dancer应用程序中的身份验证,web-services,perl,authentication,active-directory,dancer,Web Services,Perl,Authentication,Active Directory,Dancer,我正在开发一个Perl Dancer web应用程序,它需要在身份验证方面完成两件事: 基于Active Directory对访问应用程序的用户进行身份验证 以用户身份进行身份验证,以访问两个.NET web服务 该应用程序由Apache在Linux机器上作为CGI应用程序托管,我对Apache的配置没有太多控制权 以下是当前正在工作的应用程序的工作流: 向用户显示登录页面 用户提交表单时,使用验证帐户是否有效 使用(加密的cookie)存储用户的凭据 向用户显示搜索表单 当用户提交此表单时,使
$ENV{REMOTE_USER}
包含用户名(例如foo。bar@MY.DOMAIN.COM).
如果需要有关当前用户的更多信息,可以查询LDAP(包含在域中)。我使用一个普通(LDAP)用户来获取有关当前用户foo的更多信息。bar@MY.DOMAIN.COM.
我知道这只是第一部分。我没有通过SOAP使用/传递Kerberos票证的经验。但是,如果您设法处理这个问题,您就有了一个干净的SSO解决方案
我们在Apache配置中执行此操作。它需要下面这样的东西。您需要一个只读无密码用户才能绑定到Active Directory
AuthName "Active Directory"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPUrl ldap://server:389/OU=COMPANY,DC=COMPANY,DC=com?sAMAccountName,mail,name,extensionAttribute2,memberOf?base?(objectClass=user)
AuthzLDAPAuthoritative on
AuthLDAPBindDN "CN=ReadOnlyUser,OU=ServiceAccounts,OU=Users,OU=XXX,OU=COMPANY,DC=COMPANY,DC=com"
AuthLDAPGroupAttributeIsDN on
require valid-user