我有一个非常简单的LDAP身份验证:
DirContext ctx = null;
try
{
logger.debug("Trying to log with LDAP");
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, ninjaProperties.get("ldapFactory"));
env.put(javax.naming.Context.PROVIDER_URL, ninjaProperties.get("ldapProvider"));
env.put(javax.naming.Context.SECURITY_AUTHENTICATION, ninjaProperties.get("ldapAuthentication"));
env.put(javax.naming.Context.SECURITY_PRINCIPAL, ninjaProperties.get("ldapDomain") + context.getParameter("login"));
env.put(javax.naming.Context.SECURITY_CREDENTIALS, context.getParameter("password"));
ctx = new InitialDirContext(env);
if(ctx != null){
logger.info( "User [" + context.getParameter("login") + "] logged in successfully." );
ctx.close();
return Results.redirect("/TermeController/consult");
}
}
catch (Exception e)
{
logger.error("LDAP Login failed : " + e.toString());
}
目前,用户使用表单登录。我想设置一个SSO身份验证,但我找不到一种方法来轻松设置它。 我是否需要使用像CAS这样的东西?还是有一个简单的方法? 谢谢:)
答案 0 :(得分:0)
SSO是一个相当广泛的主题,我不确定你在这里想要实现的目标。但是,如果您希望为Windows用户提供SSO,即允许已经通过域控制器进行身份验证的Windows用户使用相同的凭据访问您的应用,您可以查看WAFFLE,确切地说就是这样。