package org.apereo.cas.configuration.model.support.radius; import org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties; import org.apereo.cas.configuration.model.core.authentication.PrincipalTransformationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; /** * This is {@link RadiusProperties}. * * @author Misagh Moayyed * @since 5.0.0 */ public class RadiusProperties { private boolean failoverOnException; private boolean failoverOnAuthenticationFailure; private Server server = new Server(); private Client client = new Client(); @NestedConfigurationProperty private PasswordEncoderProperties passwordEncoder = new PasswordEncoderProperties(); @NestedConfigurationProperty private PrincipalTransformationProperties principalTransformation = new PrincipalTransformationProperties(); private String name; public String getName() { return name; } public void setName(final String name) { this.name = name; } public PrincipalTransformationProperties getPrincipalTransformation() { return principalTransformation; } public void setPrincipalTransformation(final PrincipalTransformationProperties principalTransformation) { this.principalTransformation = principalTransformation; } public PasswordEncoderProperties getPasswordEncoder() { return passwordEncoder; } public void setPasswordEncoder(final PasswordEncoderProperties passwordEncoder) { this.passwordEncoder = passwordEncoder; } public boolean isFailoverOnException() { return failoverOnException; } public void setFailoverOnException(final boolean failoverOnException) { this.failoverOnException = failoverOnException; } public boolean isFailoverOnAuthenticationFailure() { return failoverOnAuthenticationFailure; } public void setFailoverOnAuthenticationFailure(final boolean failoverOnAuthenticationFailure) { this.failoverOnAuthenticationFailure = failoverOnAuthenticationFailure; } public Server getServer() { return server; } public void setServer(final Server server) { this.server = server; } public Client getClient() { return client; } public void setClient(final Client client) { this.client = client; } public static class Server { private String protocol = "EAP_MSCHAPv2"; private int retries = 3; private String nasIdentifier; private long nasPort = -1; private long nasPortId = -1; private long nasRealPort = -1; private int nasPortType = -1; private String nasIpAddress; private String nasIpv6Address; public String getProtocol() { return protocol; } public void setProtocol(final String protocol) { this.protocol = protocol; } public int getRetries() { return retries; } public void setRetries(final int retries) { this.retries = retries; } public String getNasIdentifier() { return nasIdentifier; } public void setNasIdentifier(final String nasIdentifier) { this.nasIdentifier = nasIdentifier; } public long getNasPort() { return nasPort; } public void setNasPort(final long nasPort) { this.nasPort = nasPort; } public long getNasPortId() { return nasPortId; } public void setNasPortId(final long nasPortId) { this.nasPortId = nasPortId; } public long getNasRealPort() { return nasRealPort; } public void setNasRealPort(final long nasRealPort) { this.nasRealPort = nasRealPort; } public int getNasPortType() { return nasPortType; } public void setNasPortType(final int nasPortType) { this.nasPortType = nasPortType; } public String getNasIpAddress() { return nasIpAddress; } public void setNasIpAddress(final String nasIpAddress) { this.nasIpAddress = nasIpAddress; } public String getNasIpv6Address() { return nasIpv6Address; } public void setNasIpv6Address(final String nasIpv6Address) { this.nasIpv6Address = nasIpv6Address; } } public static class Client { private String inetAddress; private String sharedSecret = "N0Sh@ar3d$ecReT"; private int socketTimeout; private int authenticationPort = 1812; private int accountingPort = 1813; public String getSharedSecret() { return sharedSecret; } public void setSharedSecret(final String sharedSecret) { this.sharedSecret = sharedSecret; } public int getSocketTimeout() { return socketTimeout; } public void setSocketTimeout(final int socketTimeout) { this.socketTimeout = socketTimeout; } public int getAuthenticationPort() { return authenticationPort; } public void setAuthenticationPort(final int authenticationPort) { this.authenticationPort = authenticationPort; } public int getAccountingPort() { return accountingPort; } public void setAccountingPort(final int accountingPort) { this.accountingPort = accountingPort; } public String getInetAddress() { return inetAddress; } public void setInetAddress(final String inetAddress) { this.inetAddress = inetAddress; } } }