Forums: Help (Thread #34859)

LDAP認証で、苗字を引っ張ってくるには (2013-12-23 00:04 by mau2013 #71125)

TracLightning 3.2.0 を使用させていただいています。
インストールの便利さに大変驚き、また感謝しております。

現在、httpd.confを修正し、LDAP認証にてこずっていますので、アドバイスを頂きたく投稿させていただきました。

ログインはできているのですが、ログイン名を sNの苗字を表示させたく、、
AuthLDAPGroupAttribute sNで 苗字を取得しようとしても取得できません。

設定内容は下記になります。
どこか間違っているところありますでしょうか?

LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
<LocationMatch "/[^/]+/login">
AuthType Basic
AuthName "ドメイン認証"
AuthBasicProvider ldap
Order Allow,Deny
Allow from All
AuthLDAPBindDN user@xx.com
AuthLDAPBindPassword passwd
AuthLDAPGroupAttribute sN
AuthLDAPUrl "ldap://xx.com:3268/dc=xx,dc=com?sAMAccountName,sN"
Require ldap-attribute objectClass=person
</LocationMatch>

よろしくお願い致します。




Re: LDAP認証で、苗字を引っ張ってくるには (2013-12-29 12:39 by mau2013 #71150)

sNの取得ができない原因わかりました。

下記のようにすることで、ログイン名をメールアドレスに変更することができました。
AuthLDAPGroupAttribute mail
AuthLDAPUrl "ldap://xx.com:3268/?sAMAccountName,mail"

sNに変更しますと、文字列になり、下記のようなエラーが出ました。

ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

表示させるログイン名が日本語だとエラーになることはわかりましたが、どの部分でtext_factory = strに変更したら良いかわかりません。

どなたか教えて頂けませんでしょうか。

よろしくお願い致します。
Reply to #71125

Re: LDAP認証で、苗字を引っ張ってくるには (2014-01-12 15:02 by jun66j5 #71272)

[メッセージ #71150 への返信]
> ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

エラーメッセージの部分だけでなくて log/trac.log に出力されている場合はスタックトレースも書いてもらったほうがアドバイスされやすいと思います。

それで現状の Trac はログイン名に ASCII 以外の文字が使われることを想定していません。http://trac.edgewall.org/ticket/6318 で報告があります。未リリースの Trac 1.0.2 では修正されていますが、TracLightning に同梱しているものは Trac 0.12.4 ですのでできません。
Reply to #71150