契約がまだ受け入れられていない場合はCASでどのように私は一つだけのサービスへのアクセスを制限することができますか?

マリノスアン:

ユーザーが最初にいくつか受け入れる必要があることを要件があり、ライセンス契約が存在する、唯一のサービスAでの他のすべてのサービスにログインできるようにするためには、。

そこで、プロセスは次のようになります。

  • ユーザがログイン-でCASによる。
  • 彼は唯一のサービスAにログインすることができ合意を受け入れていないので
  • 彼はサービスAに関する合意を受け入れたとき、彼はまた、他のサービスにログインすることができます。

注:
サービスA以外のサービスのためのコードを変更することはできません。
また、CASはagreement_acceptedフラグへのアクセス権を持っています。

CASバージョンを使用:5.3.4

Misagh Moayyed:

仮定すると、agreement_accepted認証ユーザーの属性では、サービスAおよび他のすべてのアプリケーションに適用される2つのアクセス戦略、S1およびS2を、設計することができます。

  • S1のために、戦略は、サービスAへのアクセスは問題なく付与されているCASのデフォルトです。
  • S2のために、あなたは、アプリケーションへの唯一のアクセス権を付与するための戦略を設定している場合、CASは、チケットを発行できるようにすることができagreement_accepted、属性が値を持っているとして、のは言わせてtrue

サービス/アプリケーションのアクセス戦略はここに詳述されていますhttps://apereo.github.io/cas/5.3.x/installation/Configuring-Service-Access-Strategy.html

一例として、これを参照してください。https://apereo.github.io/cas/5.3.x/installation/Configuring-Service-Access-Strategy.html#enforce-attributes

あなたは、サービスAのレコードを除いて、S2が他のすべてのアプリケーションに割り当てられていることを確認する必要があります。

PSまた、この書き込みのよう5.3.xの最新のである5.3.8へのあなたのCASバージョンを、突沸を検討することができます。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=203987&siteId=1