这是一个很好的文章,但我不知道我在哪里把我的连接 到LDAP和结合(这我的网页)?我如何确保 身份验证将应用于子页面或将来创建的任何其他 ?
你现在的状态加入到你的应用程序。您最初可能会考虑在tomcat中实现认证(authn)和授权(authz),而不是在您的应用中。
如果您决定不实施在Tomcat中,并选择在Perl来实现,那么你刚刚决定增加状态,以您的应用程序,这意味着你需要添加某种会话处理。看看CGI :: Session,CPAN上还有很多其他会话处理模块。避免Apache :: Session。它的锁处理可能导致大量的痛苦,如果交易运行长。在cookie中使用会话密钥。通过SSL发送所有内容。如果你不使用SSL,那么破解者可以拦截你的会话密钥,然后劫持会话。
一旦你建立了会话架构,你需要创建一个登录机制,通常是一个带有用户名和密码的表单。当表单提交后,CGI背后的密码会对密码进行神奇加密,然后执行LDAP跳舞:
- 连接到目录服务器没有连接已经存在。
2a。绑定到服务器匿名或作为应用程序的用户,搜索通过CN的用户,绑定如使用DN的用户和口令
OR
2b中。从用户名中计算DN,使用DN和密码的密码进行绑定。
通常情况下,第3步是检查用户的记录对于一些授权的指标,它可能是一个是/否访问指示灯,也可以是角色或特权的列表。
如果用户成功通过认证和授权,然后在用户的会话中写入一些授权信息。
然后,您的应用的每个后续页面都会检查用户是否已登录和/或是否具有正确的authz来使用该页面。如果未经授权,您可以将它们发送回登录后登录页面,或登录页面(如果它们未登录)。
基本上,您只需替换通常的“查询数据库的用户表”通过查询将LDAP发送到目录服务器。