![](/img/trans.png)
[英]Improve on this pattern for handling how a mobile app knows how to find it's server
[英]How to improve authentication in a Perl Dancer app
我正在开发一个Perl Dancer Web应用程序,它需要在身份验证方面完成两件事:
该应用程序由Apache在Linux机器上作为CGI应用程序托管,我对Apache的配置没有多少控制权。
以下是当前工作应用程序的工作流程:
这里处理用户凭据关系到我,但我通常是Web应用程序和身份验证的新手。 对于小型内部应用程序,这没关系吗? 如果没有,你如何建议我改进这个过程? 就像我说的,上面提到的应用程序有效,但我觉得它可以/应该改进。
一个(一部分)解决方案可能是让您的apache webserver处理身份验证。 你可以使用Kerberos 。 因此,只允许用户访问您的应用程序。 在这种情况下, $ENV{REMOTE_USER}
包含用户名(例如foo.bar@MY.DOMAIN.COM)。
如果您需要有关当前用户的更多信息,可以查询LDAP(包含在您的域中)。 我使用公共(LDAP)用户获取有关当前用户foo.bar@MY.DOMAIN.COM的更多信息。
我知道这只是第一部分。 我没有使用SOAP来使用/传递Kerberos票证的经验。 但是,如果您需要处理此问题,那么您就拥有了一个干净的SSO解决方案。
HTH
我们在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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.