2016-08-02 31 views
0

私はこのスタック全体で絶対的な初心者ですので、これは非常にばかな質問である場合は事前にお詫び申し上げます。CASのフラットファイル認証のカスタム属性

私はローカル(模擬)CASサービスを設定しているので、私たちがステージング/プロダクション環境で持っているものと少なくとも遠隔的に似ている認証システムに対してアプリケーションをテストすることができます。

私はhttps://github.com/ubc/vagrant-casを出発点として使用しています。私は実際にするとき、ユーザーのサインでカスタム属性を渡すために私を可能にするためにcas.propertiesdeployerConfigContext.xmlを変更することで、これを設定するために管理してきました。つまり

<bean id="attributeRepository" class="org.jasig.services.persondir.support.StubPersonAttributeDao"> 
    <property name="backingMap"> 
     <map> 
      <entry key="uid" value="uid" /> 
      <entry key="eduPersonAffiliation" value="eduPersonAffiliation" /> 
      <entry key="groupMembership" value="groupMembership" /> 
      <entry key="puid" value="12345678910" /> 
     </map> 
    </property> 
</bean> 

をデフォルトorg.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"と組み合わせるこれは、いつでも私は、ユーザー名でログインすることを意味します(つまり、ユーザー名 'admin'パスワード 'admin')、そのユーザーがサインインされ、属性「puid」が返され、「12345678910」の値が返されます(すべてのユーザー名とパスワードのコンボで同じPUIDが返されます)。

私は実際に必要が複数のユーザー、異なるPUID値を持つすべてを持ってできるようにすることです

を(私は「サービス管理」アプリに戻って送信される属性を有効にする必要がありました)。すなわち

ユーザ名:パスワード:1234

USERNAME2:パスワード2:5678

など

私はorg.jasig.cas.adaptors.generic.FileAuthenticationHandlerあり気づいたが、それが唯一のユーザー名::パスワードの入力を可能にしていないカスタム属性。 (それほどまだ近いところまで)。

私は自分の深みから脱出しています。私はJavaプログラマーではなく、私のgoogle-fuの限界にぶつかりました。正しい方向で私を指し示す助けがあれば大いに感謝します。

+0

さらに、フラットファイルである必要はありません。私はどこかのxmlファイルのusername/password/custom-attributeをハードコーディングしています。どんな作品でも簡単です。 – RichardTape

+0

私はあなたがまだカスタム属性をサポートしていないことを発見したので、CAS 3.ファイルベースの認証を使用していると仮定しています。あなたはこのhttps://github.com/Unicon/cas-addons/wiki/Configuring-JSON-ComplexStubPersonAttributeDaoに興味があるかもしれません –

+0

また、CAS 3がEOLされていることに注意してください。 –

答えて