@EventListener
public void authFailedEventListener(AbstractAuthenticationFailureEvent authenticationFailureEvent) {
// code for logging audit
if(authenticationFailureEvent instanceof AbstractAuthenticationFailureEvent) { System.out.print(true);
}else {
System.out.print(false);
}
System.out.println(authenticationFailureEvent);
//System.out.println("login failed for -->"+authenticationFailureEvent.getAuthentication().getPrincipal());
System.out.print("Event Catched for Failed");
}
protected void configure(AuthenticationManagerBuilder auth) throws Exception{
try {
auth.authenticationProvider(customAuthentication);
auth.authenticationEventPublisher(new DefaultAuthenticationEventPublisher(applicationEventPublisher));
}catch(OAuth2Exception ex) {
throw new CustomOauthException(ex.getMessage());
}
}
按以下方式配置DefaultAuthEnticationEventPublisher
@Bean
DefaultAuthenticationEventPublisher defaultAuthenticationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
return new DefaultAuthenticationEventPublisher(applicationEventPublisher);
}
并在身份验证管理器中使用它,例如
@Autowired
DefaultAuthenticationEventPublisher defaultAuthenticationEventPublisher;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationEventPublisher(defaultAuthenticationEventPublisher);
}
我做的测试:
@Configuration
public class ProjectConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().authenticated()
.and().httpBasic();
}
@Autowired
DefaultAuthenticationEventPublisher defaultAuthenticationEventPublisher;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.passwordEncoder(NoOpPasswordEncoder.getInstance())
.withUser("user").password("password").roles("USER");
auth.authenticationEventPublisher(defaultAuthenticationEventPublisher);
}
@Override
@Bean
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Bean
DefaultAuthenticationEventPublisher defaultAuthenticationEventPublisher(
ApplicationEventPublisher applicationEventPublisher) {
return new DefaultAuthenticationEventPublisher(applicationEventPublisher);
}
}
@Component
public class GlobalEventsHandlers {
@EventListener
public void authFailedEventListener(
AbstractAuthenticationFailureEvent authenticationFailureEvent) {
// code for logging audit
if (authenticationFailureEvent instanceof AbstractAuthenticationFailureEvent) {
System.out.println("authenticationFailureEvent");
} else {
System.out.println("not authenticationFailureEvent");
}
System.out.println(authenticationFailureEvent);
//System.out.println("login failed for -->"+authenticationFailureEvent.getAuthentication().getPrincipal());
System.out.println("Event Catched for Failed");
}
@EventListener
public void authSuccessEventListener(AuthenticationSuccessEvent authenticationSuccessEvent) {
// code for logging audit
if (authenticationSuccessEvent instanceof AuthenticationSuccessEvent) {
System.out.println("authenticationSuccessEvent");
} else {
System.out.println("not authenticationSuccessEvent");
}
System.out.println(authenticationSuccessEvent);
System.out.println("Event Catched for success");
}
}
authenticationFailureEvent
org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent[source=UsernamePasswordAuthenticationToken [Principal=use, Credentials=[PROTECTED], Authenticated=false, Details=WebAuthenticationDetails [RemoteIpAddress=127.0.0.1, SessionId=null], Granted Authorities=[]]]
Event Catched for Failed
authenticationSuccessEvent
org.springframework.security.authentication.event.AuthenticationSuccessEvent[source=UsernamePasswordAuthenticationToken [Principal=org.springframework.security.core.userdetails.User [Username=user, Password=[PROTECTED], Enabled=true, AccountNonExpired=true, credentialsNonExpired=true, AccountNonLocked=true, Granted Authorities=[ROLE_USER]], Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=127.0.0.1, SessionId=F6977BE6F40E41D5972C4233868DF312], Granted Authorities=[ROLE_USER]]]
Event Catched for success
我试图建立一个简单的iOS /Rails应用程序,在那里我可以创建一个用户,然后使用BCrypt对他们进行身份验证。我试图按照BCrypt的说明进行操作,但我的身份验证过程不起作用。非常新的轨道,所以我肯定我搞砸了一些简单的事情! 要创建新用户,请执行以下操作: 在users_controller.rb 在user.rb 在服务器上: 在2014-08-21 19:32:05-0500开始POST
Tweepy API请求twitter return me Twitter错误响应:状态代码=401。 这是我的实际代码: 我曾试图用tweepy软件包删除推文,并获得了所有必需的密钥。镊子包装不起作用吗?有人能帮我解决这个问题吗。
问题内容: 尝试使用JavaMail中的NTLM连接到Exchange服务器。我可以连接到SMTP,但不能连接到IMAP。我还可以使用相同的主机/用户名/密码通过OS X Mail.app应用程序进行身份验证,帐户类型=“ IMAP”,端口143,ssl = false,authentication = NTLM,域名=“。 连接代码: 输出: 我尝试通过http://www.oracle.com
我相对来说是JMeter的新手,但是我很难让HTTP Sampler登陆到一个安全的网页上。我认为它需要NTLM认证,所以我使用HTTP授权管理器来传递BlazeMeter指南中指定的凭证 我的授权管理器具有以下值: 基本网址: https:// [测试站点] 用户名: [我的用户名] 密码: [我的密码] 域:与基本网址相同 机制: BASIC_DIGEST 然而,我只是得到一个401错误(见下
我收到一个错误“无法建立SSL连接,请参阅内部异常。身份验证失败,请参阅内部异常。”当尝试通过C#HttpWebRequest通过SSL发布请求时(已尝试RestSharp和HttpClient,结果相同)。我还尝试了网络上提到的所有可能的解决方案,如: 他们都不为我工作。另一个问题是,我在另一台计算机上运行相同的项目,它的工作没有任何问题。所以看起来问题的来源是环境,也许. net框架或注册表中
我的symfony 4登录表单有问题。我是根据以下文件进行的:https://symfony.com/doc/current/security/form_login_setup.html 它的工作很好,然后密码和电子邮件是正确的,但若在数据库中找不到电子邮件和/或密码,则不会发生任何事情 我的主要身份验证: 我的主安全控制器: 我的登录名: 我的security.yaml: 第一次编辑 对secu