Vaadin Flow:如何添加Azure Active Directory登录功能



我想将Active Directory添加到我的Vaadin Flow应用程序中,但我找不到任何教程。。。有人能帮忙吗?

感谢

大约10年前,我使用这种方法来实现:

@Stateless
@LocalBean
public class Ldap{
private final static Logger log = LoggerFactory.getLogger(Ldap.class);
@EJB
private Settings settings;
public boolean isAutorizated(final String userName, final String password){
InitialDirContext dirContext = null;
boolean retval = false;
final Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.PROVIDER_URL, settings.getString("DEFAULT.LdapServerUrl"));
final String loginName = settings.getString("DEFAULT.Domain") + '\' + userName;
env.put(Context.SECURITY_PRINCIPAL, loginName);
env.put(Context.SECURITY_CREDENTIALS, password);
try {
dirContext = new InitialDirContext(env);
log.info("Login success for user " + loginName);
if (dirContext != null) {
dirContext.close();
}
retval = true;
} catch (NamingException ex) {
log.error("Login failed for user " + loginName);
}
return retval;
}
}

和方法调用:

...
@EJB
private Ldap ldap;
public void buttonClick(ClickEvent event) {
if (ldap.isAutorizated(login.getValue(), password.getValue())){
// do on success
} else{
// do on failure
}
}

相关内容

最新更新