Class UniquePrincipalAuthenticationPolicy

java.lang.Object
org.apereo.cas.authentication.policy.BaseAuthenticationPolicy
org.apereo.cas.authentication.policy.UniquePrincipalAuthenticationPolicy
All Implemented Interfaces:
Serializable, org.apereo.cas.authentication.AuthenticationPolicy, org.apereo.cas.util.NamedObject, org.springframework.core.Ordered

public class UniquePrincipalAuthenticationPolicy extends BaseAuthenticationPolicy
This is UniquePrincipalAuthenticationPolicy that prevents authentication if the same principal id is found more than one in the registry. This effectively forces each user to have a single and unique SSO session, disallowing multiple logins.
Since:
5.2.0
See Also:
  • Field Summary

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
    UniquePrincipalAuthenticationPolicy(org.apereo.cas.ticket.registry.TicketRegistry ticketRegistry, org.springframework.beans.factory.ObjectProvider<org.apereo.cas.web.flow.SingleSignOnParticipationStrategy> singleSignOnParticipationStrategy, org.apereo.cas.configuration.model.core.authentication.policy.UniquePrincipalAuthenticationPolicyProperties properties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    org.apereo.cas.configuration.model.core.authentication.policy.UniquePrincipalAuthenticationPolicyProperties
     
    org.springframework.beans.factory.ObjectProvider<org.apereo.cas.web.flow.SingleSignOnParticipationStrategy>
     
    org.apereo.cas.ticket.registry.TicketRegistry
     
    int
     
    org.apereo.cas.authentication.AuthenticationPolicyExecutionResult
    isSatisfiedBy(org.apereo.cas.authentication.Authentication authentication, Set<org.apereo.cas.authentication.AuthenticationHandler> authenticationHandlers, org.springframework.context.ConfigurableApplicationContext applicationContext, Map<String,? extends Serializable> context)
     

    Methods inherited from class org.apereo.cas.authentication.policy.BaseAuthenticationPolicy

    getName, getOrder, setName, setOrder

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apereo.cas.authentication.AuthenticationPolicy

    isSatisfiedBy, isSatisfiedBy, isSatisfiedBy, shouldResumeOnFailure
  • Constructor Details

    • UniquePrincipalAuthenticationPolicy

      public UniquePrincipalAuthenticationPolicy(org.apereo.cas.ticket.registry.TicketRegistry ticketRegistry, org.springframework.beans.factory.ObjectProvider<org.apereo.cas.web.flow.SingleSignOnParticipationStrategy> singleSignOnParticipationStrategy, org.apereo.cas.configuration.model.core.authentication.policy.UniquePrincipalAuthenticationPolicyProperties properties)
  • Method Details

    • isSatisfiedBy

      public org.apereo.cas.authentication.AuthenticationPolicyExecutionResult isSatisfiedBy(org.apereo.cas.authentication.Authentication authentication, Set<org.apereo.cas.authentication.AuthenticationHandler> authenticationHandlers, org.springframework.context.ConfigurableApplicationContext applicationContext, Map<String,? extends Serializable> context) throws Throwable
      Throws:
      Throwable
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class BaseAuthenticationPolicy
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class BaseAuthenticationPolicy
    • getTicketRegistry

      public org.apereo.cas.ticket.registry.TicketRegistry getTicketRegistry()
    • getSingleSignOnParticipationStrategy

      public org.springframework.beans.factory.ObjectProvider<org.apereo.cas.web.flow.SingleSignOnParticipationStrategy> getSingleSignOnParticipationStrategy()
    • getProperties

      public org.apereo.cas.configuration.model.core.authentication.policy.UniquePrincipalAuthenticationPolicyProperties getProperties()