在这里,它们是CustomAuthenticationProvider类中的实现
在接收用户名和密码的方法中,
public Authentication authenticate(Authentication authentication) throws
AuthenticationException {
String name = authentication.getName();
String password = authentication.getCredentials().toString();
Optional<User> optionalUser = users.stream().filter(u -> u.index(name,
password)).findFirst();
if (!optionalUser.isPresent()) {
logger.error("Authentication failed for user = " + name);
throw new BadCredentialsException("Authentication failed for user = " + name);
}
// find out the exited users
List<GrantedAuthority> grantedAuthorities = new ArrayList<GrantedAuthority>();
grantedAuthorities.add(new SimpleGrantedAuthority(optionalUser.get().role));
UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(name, password,
grantedAuthorities);
logger.info("Succesful Authentication with user = " + name);
return auth;
}
这些是文档中的代码。而不是这种方法,我需要做不同的方式。在这里我补充了我的要求:
我的需求:我需要从API请求接收用户名和密码,为了检查这个用户名和密码,我需要调用我部署的API checkUserAuthentication和CheckUserAuthorization。
我对此的怀疑:
因为我只是从Spring Security开始的,所以我对Security World是个新手。
是的。
与他们在authenticate方法中所做的相同。
我们的申请有两个部分。 在Java8中编写的后端,它使用泽西2.0公开了不同的RESTendpoint。 使用React和其他节点模块构建的单页应用程序UI。 Web界面使用Okta支持的SAML2.0身份验证作为身份提供者。后端创建HTTP会话并在cookie中发送JSESSIONID。 现在,UI调用其余endpoint来显示数据。我们需要在RESTAPI中添加一个身份验证层,我在这里问了另外
我正在尝试使用Spring Security UserDetailService身份验证使用电子邮件而不是用户名登录,但我无法登录并获取 org.springframework.security.authentication.内部身份验证服务异常。 调试代码时,调试器不会跟踪 用户user=userDao。findByUserName(用户电子邮件);来自UserServiceImpl。java和
问题内容: 我正在寻找一种与Mockito进行验证的方法,即在测试过程中与给定的模拟没有任何交互。对于具有验证模式的给定方法,很容易实现这一点,但是我还没有找到完整模拟的解决方案。 我真正想要实现的是:在测试中验证,没有任何内容打印到控制台上。jUnit的总体思路如下: A 有很多方法,我真的不想用单独的验证方法来验证每个方法,而… 因此,我希望,如果有一个简单的解决方案,鉴于我具有良好的测试覆盖
当我通过登录路径中定义的登录表单登录时,我的防火墙配置工作正常。我想要的是登录时不查看或进入登录路径,而是直接发送用户名和密码参数来检查路径。 当我用用户名和密码向check_路径发出post请求时,symfony2似乎需要一个cookie,它是由smyfony2自己在login_路径中创建的。 有没有办法通过发送用户名和密码直接检查路径来登录?
问题:我只想从authenticate.getname()中获取/提取用户名/电子邮件...如果可能的话,不要使用解析字符串。 authentication.getname()或principal.getname()值: 在本例中,我只希望获得用户名的值,即butitoy@iyotbihagay.com 因为我只想获得用户名/电子邮件(Butitoy@iyotbihagay.com),而且它返回的
我有一个h:inputText、h:selectonemenu和commandbuton。Inputtext是必填字段,我已将其定义为immediate=“true”。然后,当我单击按钮时,我想将selectonemenu的当前值传递给托管bean。但它的passig为空。如何管理此验证,以便它允许我在托管bean中获取selectOneMenu的值。。 我的代码是...