Cisco ASA 8.4 VPN コンセントレータを使用しています。Lua を使用して、入ってくる証明書文字列から数字を抽出し、認証のために AD を使用した LDAP ルックアップでそれらを使用しようとしています。機能する文字列を見つけました...時々。
文字列の形式は次のとおりです。
LAST_NAME.FIRST_NAME.MIDDLE_NAME.1234567890
私の LDAP は、数字と @domainname だけを見たいと思っています。私が現在使用しているスクリプトは次のとおりです。return string.gsub(cert.subject.cn, "^(%w+)%.(%w+)%.(%w+)%.(%w+)$", "%4@domain")
このスクリプトは、ほとんどの場合 (80 ~ 90% の確率で) 正常に機能します。それがうまくいかないのは、人々にミドルネームがない、3つではなく4つの名前がある、などです。
私の質問は、その前に何があるかに関係なく、どうすれば 10 桁だけを出力できるかということです。return string.match では簡単すぎるように思えますが、これまでのところ、動作させることはできません。何か案は?