OkLdap如果想在你的业务系统快速使用LDAP进行登录?如果你的内网系统想使用接口快速创建员工的LDAP账号?你可以试试OkLdap。OkLdap是专门为基于LDAP账号做内网整合的简便客户端。主要功能:快速的登录接口及示例修改密码的接口基于员工的管理接口(添人、减人、修改)演示:配置:#必要选项ldap:url:"ldap://127.0.0.1:389"baseDn:"DC=company,DC=com"bindDn:"cn=admin,dc=company,dc=com"paasword:"123456"userFilter:"cn=%s"groupFilter:"cn=%s"#Demo选项demo:limit:groupCn:"manager"代码:(更多应用代码,可参考源码里的单元测试)//应用入口publicclassApp{publicstaticvoidmain(String[]args){Solon.start(App.class,args);}}//Bean配置器@ConfigurationpublicclassConfig{@BeanpublicLdapClientldapClient(@Inject("${ldap}")LdapClientldapClient){returnldapClient;}}//控制器示例@Mapping("demo")@ControllerpublicclassDemoController{@InjectLdapClientldapClient;@Inject("${demo.limit.groupCn}")StringlimitGroupCn;/***登录::**/@Post@Mapping("login")publicResultlogin(StringuserName,StringuserPassword){try(LdapSessionsession=ldapClient.open()){LdapPersonperson=session.findPersonOne(userName);if(person==null){returnResult.failure("用户不存在");}if(person.verifyPassword(userPassword)==false){returnResult.failure("用户密码不对");}if(Utils.isNotEmpty(limitGroupCn)){if(person.inGroup(session.findGroupOne(limitGroupCn))==false){returnResult.failure("权限不够");}}//可同步到本地用户库...returnResult.succeed();}}/***创建用户::**/@Post@Mapping("create")publicResultcreate(StringuserName,StringuserPassword,StringstageName,StringrealName){try(LdapSessionsession=ldapClient.open()){LdapPersonperson=newLdapPerson();person.setCn(userName);person.setUserPassword(userPassword);person.setDisplayName(stageName);person.setGivenName(realName);session.createPerson("employee",person);}returnResult.succeed();}/***修改用户::**/@Post@Mapping("update")publicResultupdate(StringuserName,StringstageName,StringrealName){try(LdapSessionsession=ldapClient.open()){LdapPersonperson=session.findPersonOne(userName);person.setDisplayName(stageName);person.setGivenName(realName);session.updatePerson(person);}returnResult.succeed();}}声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论