I am using CAS Version 5.2.1 I need to implement Custom Authenticaction Handler and I have used https://apereo.github.io/cas/5.2.x/installation/Configuring-Custom-Authentication.html for that.
As per the site I have registered in spring.factories. But nothing seems to work. How do I check it is registered and getting called. I see nothing in logs. When I login it never comes to MyAuthenticationHandler What am i missing? Thanks in advance. -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/4d8a426c-3d91-491a-a950-df17d4499d2e%40apereo.org.
application.properties
Description: Binary data
package com.example.cas;
import org.apereo.cas.authentication.AuthenticationEventExecutionPlan;
import org.apereo.cas.authentication.AuthenticationEventExecutionPlanConfigurer;
import org.apereo.cas.authentication.AuthenticationHandler;
import org.apereo.cas.configuration.CasConfigurationProperties;
import org.apereo.cas.services.ServicesManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration("MyAuthenticationEventExecutionPlanConfiguration")
@EnableConfigurationProperties(CasConfigurationProperties.class)
public class MyAuthenticationEventExecutionPlanConfiguration
implements AuthenticationEventExecutionPlanConfigurer {
@Autowired
private CasConfigurationProperties casProperties;
@Autowired
@Qualifier("servicesManager")
private ServicesManager servicesManager;
@Bean
public AuthenticationHandler myAuthenticationHandler() {
final MyAuthenticationHandler handler = new MyAuthenticationHandler("", servicesManager, null, 0);
/*
Configure the handler by invoking various setter methods.
Note that you also have full access to the collection of resolved CAS settings.
Note that each authentication handler may optionally qualify for an 'order`
as well as a unique name.
*/
return handler;
}
@Override
public void configureAuthenticationExecutionPlan(final AuthenticationEventExecutionPlan plan)
{
System.out.println("--------------------------->>>>>>>>>>>>>>>>>");
//if (feelingGoodOnAMondayMorning()) {
plan.registerAuthenticationHandler(myAuthenticationHandler());
//}
}
}
package com.example.cas;
import org.apereo.cas.authentication.HandlerResult;
import org.apereo.cas.authentication.UsernamePasswordCredential;
import org.apereo.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler;
import org.apereo.cas.authentication.principal.PrincipalFactory;
import org.apereo.cas.services.ServicesManager;
public class MyAuthenticationHandler extends AbstractUsernamePasswordAuthenticationHandler
{
public MyAuthenticationHandler(String name, ServicesManager servicesManager, PrincipalFactory principalFactory,
Integer order) {
super(name, servicesManager, principalFactory, order);
// TODO Auto-generated constructor stub
}
protected HandlerResult authenticateUsernamePasswordInternal(final UsernamePasswordCredential credential,
final String originalPassword) {
//if (everythingLooksGood()) {
return createHandlerResult(credential,
this.principalFactory.createPrincipal(credential.getUsername()), null);
//}
//throw new FailedLoginException("Sorry, you are a failure!");
}
}
