• R/O
  • SSH
  • HTTPS

hiki-auth-ldap: Commit


Commit MetaInfo

Revision5 (tree)
Time2009-02-08 00:42:26
Authorktym9814

Log Message

ひとまず設定項目を追加
LDAP接続については未調整

Change Summary

Incremental Difference

--- trunk/hiki/auth/ldap.rb (revision 4)
+++ trunk/hiki/auth/ldap.rb (revision 5)
@@ -5,25 +5,25 @@
55 #
66
77 require 'ldap'
8-require 'uri'
9-require 'cgi'
8+require 'plugin'
9+#require 'uri'
10+#require 'cgi'
1011
12+class LdapLogin
1113
12-class Ldap
13-
1414 #This class handle LDAP logins.
15- def initialize(host,basedn,userattr)
16- @host = host
17- @basedn = basedn
18- @userattr = userattr
15+ def initialize()
16+ @host = @conf['ldap.host']
17+ @basedn = @conf['ldap.basedn']
18+ @userattr = @conf['ldap.userattr']
1919 end
2020
21- def ldap_connect(uid, pass)
21+ def ldap_login(name,password)
2222 conn = LDAP::Conn.new(@host, LDAP::LDAP_PORT)
2323 conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION,3)
24- dn="@basedn=#{uid},ou=People,dc=hoge,dc=fuga,dc=honya"
24+ dn="@basedn=@userattr=#{name},ou=People,dc=hoge,dc=fuga,dc=honya"
2525 begin
26- conn.simple_bind(dn, pass)
26+ connect.simple_bind(dn, password)
2727 true
2828 rescue LDAP::ResultError
2929 false
--- trunk/misc/plugin/auth_ldap.rb (revision 4)
+++ trunk/misc/plugin/auth_ldap.rb (revision 5)
@@ -3,30 +3,76 @@
33
44 require 'hiki/auth/ldap'
55 require 'hiki/session'
6+require 'logger'
7+$logger = Logger.new('hiki.log')
68
79 @conf['ldap.host'] ||= ''
810 @conf['ldap.basedn'] ||= ''
911 @conf['ldap.userattr'] ||= ''
12+@conf['ldap.binddn'] ||= ''
13+@conf['ldap.bindpass'] ||= ''
1014
1115 def saveconf_auth_ldap
16+$logger.debug 'do saveconv_auth_ldap'
1217 if @mode == 'saveconf' then
1318 @conf['ldap.host'] = @cgi.params['ldap.host'][0]
1419 @conf['ldap.basedn'] = @cgi.params['ldap.basedn'][0]
1520 @conf['ldap.userattr'] = @cgi.params['ldap.userattr'][0]
21+ @conf['ldap.binddn'] = @cgi.params['ldap.binddn'][0]
22+ @conf['ldap.bindpass'] = @cgi.params['ldap.bindpass'][0]
1623 end
1724 end
1825
26+def login(name,pass)
27+hostname = @conf['ldap.host']
28+basedn = @conf['ldap.basedn']
29+userattr = @conf['ldap.userattr']
30+binddn = @conf['ldap.binddn']
31+bindpass = @conf['ldap.bindpass']
32+
33+str = 'load auth_ldap login ' + hostname + "is hostname"
34+$logger.debug str
35+conn = LDAP::Conn.new(hostname, LDAP::LDAP_PORT)
36+conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION,3)
37+begin
38+ conn.simple_bind(dn, pass)
39+ true
40+ rescue LDAP::ResultError
41+ false
42+ end
43+
44+$logger.debug 'end auth_ldap login '
45+end
46+
47+def auth_ldap
48+$logger.debug 'load auth_ldap'
49+ con=Ldap.new
50+end
51+
1952 add_conf_proc('auth_ldap', label_auth_ldap_config) do
2053 saveconf_auth_ldap
54+$logger.debug 'add_cof_procのsaveconv_auth_ldap clear'
55+
2156 <<-HTML
2257 <h3 class="subtitle">#{label_auth_ldap_host}</h3>
2358 <p>#{label_auth_ldap_host_msg}</p>
2459 <p><input name="ldap.host" size="40" value="#{CGI::escapeHTML(@conf['ldap.host']||"")}"></p>
60+
2561 <h3 class="subtitle">#{label_auth_ldap_basedn}</h3>
2662 <p>#{label_auth_ldap_basedn_msg}</p>
2763 <p><input name="ldap.basedn" size="40" value="#{CGI::escapeHTML(@conf['ldap.basedn']||"")}"></p>
64+
2865 <h3 class="subtitle">#{label_auth_ldap_userattr}</h3>
2966 <p>#{label_auth_ldap_userattr_msg}</p>
3067 <p><input name="ldap.userattr" size="40" value="#{CGI::escapeHTML(@conf['ldap.userattr'])||""}"></p>
68+
69+ <h3 class="subtitle">#{label_auth_ldap_binddn}</h3>
70+ <p>#{label_auth_ldap_binddn_msg}</p>
71+ <p><input name="ldap.binddn" size="40" value="#{CGI::escapeHTML(@conf['ldap.binddn'])||""}"></p>
72+
73+ <h3 class="subtitle">#{label_auth_ldap_bindpass}</h3>
74+ <p>#{label_auth_ldap_bindpass_msg}</p>
75+ <p><input name="ldap.bindpass" size="40" value="#{CGI::escapeHTML(@conf['ldap.bindpass'])||""}"></p>
76+
3177 HTML
3278 end
\ No newline at end of file
--- trunk/misc/plugin/ja/auth_ldap.rb (revision 4)
+++ trunk/misc/plugin/ja/auth_ldap.rb (revision 5)
@@ -30,13 +30,29 @@
3030 end
3131
3232 def label_auth_ldap_basedn_msg
33- 'BaseDNを指定します。 '
33+ 'BaseDNを指定します'
3434 end
3535
36+def label_auth_ldap_binddn
37+ 'BINDDN'
38+end
39+
40+def label_auth_ldap_binddn_msg
41+ '検索の際に利用するBINDDNを指定します。'
42+end
43+
44+def label_auth_ldap_bindpass
45+ 'BINDDN Password'
46+end
47+
48+def label_auth_ldap_bindpass_msg
49+ '検索の際に利用するBINDDNのパスワードを指定します。'
50+end
51+
3652 def label_auth_ldap_userattr
3753 'ユーザ'
3854 end
39-
55+
4056 def label_auth_ldap_userattr_msg
4157 'ユーザの属性を指定します。 '
4258 end
Show on old repository browser