2011-06-27 13 views
0

これは私がrubycasサーバーから返すデータです。ruby​​cas-server response

{ 
    "cn"=>"--- - Toby Joiner", 
    "sn"=>"--- - Joiner", 
    "mail"=>"--- - [email protected]", 
    "memberof"=>"--- 
     - CN=All Users,OU=AllUsers,DC=bnw,DC=local 
     - CN=Administrators,CN=Builtin,DC=bnw,DC=local 
     - CN=Remote Desktop Users,CN=Builtin,DC=bnw,DC=local", 
    "givenname"=>"--- - Toby" 
} 

私は今私がやっている、このデータを引き出すことが出来るのです方法がある場合、私は疑問に思って:

first_name = session[:cas_extra_attributes][:sn].gsub('-','') 

をダッシュ​​を削除するには。私はrubycasサーバから余分なデータを取得するための方法を見逃していることを期待しています。

答えて

1

YAMLがエスケープしたデータのようです。 YAML.loadで最初に解析し、必要に応じて処理することで、それを取り除くことができます。 Railsのエンジンがcassyと呼ばれるよう脇の小さなとして


は、私は個人的にrubycasサーバの基本機能を再実装しました。しかし、私はそれが現時点で特別な属性を送ることをサポートしているとは思わない。

ruby​​cas-serverがうまくいかない場合に試してみると、私はそれを言いたいと思いました。

+0

ありがとうございます。問題は今、セッションをactiverecordに変更することで解決したクッキーバッファーをオーバーフローさせたrubycas-clientですが、yamlをmangleします。ああ、あなたの答えは私が尋ねたもののための正しいものです。 –