
1需要的包(除了spring Security的包)
spring-ldap-121jar(121+)
ldapbpjar
commons-lang-24jar
注:spring-ldap不能用12版本,12中AbstractContextSourcecreateContext是包级私有的,spring security的DefaultSpringSecurityContextSource继承了AbstractContextSource并需要访问该方法。在121版本中,这个方法是受保护的。
2配置文件:
(1)服务器配置
外部ldap服务器,指明服务的地址,用户名和密码
<ldap-server url="ldap://localhost:389/dc=springframework,dc=org"
manager-dn = "cn=root" manager-password = "111111"/>
内部嵌入式ldap服务器(依赖于apache ds的包),指定根和要导入的ldif文件的路径
<ldap-server root="dc=springframework,dc=org" ldif="classpath:usersldif" />
(2)认证提供者配置
<ldap-authentication-provider user-search-filter="(uid={0})" user-search-base="ou=people" group-search-filter = "(member={0})" group-search-base="ou=groups"/>
(3)UserDetailService配置(只有启用了remember-me过滤器,才需要配置user-service)
<ldap-user-service user-search-filter="(uid={0})" user-search-base="ou=people"/>
3认证和授权信息的指定(都存放在ldap中)
(1)认证信息:
用户名(从匹配模式中获取)
user-dn-pattern:用户dn的模式
user-search-filter:用户名的模式
user-search-base:用户查找的base
用户口令
如果使用bind认证,不需要知道LDAP中的口令属性名称。如果使用密码比较的认证方式,需要指定用户口令对应的属性名,缺省的属性名是userPassword。
(2)授权信息:
group-role-attribute:用户权限的属性名称(默认是cn)
group-search-filter:用户权限的模式
group-search-base:权限超找的base
role-prefix:权限前缀,默认是"ROLE_",如果不需要可以设置成"none"。
4一个配置文件的示例
<beans:beans xmlns=">
第一种是调用groovy官方库里的类
第二种是调用自己写的groovy文本的类
缺点: 如果不安装groovy解释器和groovy Eclipse插件就无法享受更多的对jdk 类的扩展, 已经脚本化语法的便捷
脚本语言特点 无main,直接printf
第二步: jar依赖,maven库上传
第三步: 推广成员安装groovy解释器和groovy Eclipse插件
1 第一种 如果用maven的话
在pom的 依赖项里加入
<groupId>orgcodehausgroovy</groupId>
<artifactId>groovy-all</artifactId>
<version>222</version>
</dependency>
或者去官网下载grovvy的jar包,导入的eclipse的class依赖中
就可以直接在java里调用 grovvy库里的类了
( 如果Eclipse不会自动 import groovy的类,需要在project中新增 <nature>orgeclipsejdtgroovycoregroovyNature</nature> )
import groovyutilGroovyCollections;
import javautilList;
public static void main(String[] args) {
List<Double> lists = new ArrayList<Double>();
listsadd(02);
listsadd(03);
listsadd(02);
Object sum = GroovyCollectionssum(lists);
Systemoutprintln(sum);
}
====
2 第二种 如果是自己写的groovy 文件
假如如下 GrovvySystemConfigReadgroovy代码
[java] view plaincopy
/
Created by IntelliJ IDEA
User: Web-03
Date: 11-4-21
Time: 下午3:43
To change this template use File | Settings | File Templates
/
class GrovvySystemConfigRead {
/
读取邮件验证访问路径, ConfigurationHolder是groovy框架grais里的某个类
/
static String getName(){
return "csdn" ;
}
}
21 第一种调用,JAVA类(JavaClassCallGroovy)是可以直接调用GROOVY类(上面写好的SystemConfigRead)的。
(需要安装eclipse插件,自动把groovy文本文件编译为class ,插件安装见
[java] view plaincopy
public class JavaClassCallGroovy{
public static void main(String[] args) {
SystemConfigReadgetName();
}
}
22 第二种,以反射脚本化方式调用(不推荐),实现脚本化调用,即脚本改动后,无需编译,自动执行的目的
这种反射化调用不仅可以用在java类调用groovy类,也可以用在java类调用java类,实现java的脚本化
[java] view plaincopy
/
JAVA调用GROOVY
@throws IOException
@throws IllegalAccessException
@throws InstantiationException
添加人:
添加时间:211-08-30 14:27
/
public void groovyToJava() throws IOException, IllegalAccessException, InstantiationException {
ClassLoader parent = getClass()getClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
//找到指定的groovy类
Class groovyClass = loaderparseClass(new File("site/grails-app/utils/com/ingping/core/SystemConfigReadgroovy"));
//将对象实例化并且强制转换为GroovyObject对象
GroovyObject groovyObject = (GroovyObject) groovyClassnewInstance();
//readEmailCodeUrl方法名,null 参数值,没有为null
Systemoutprintln("" + groovyObjectinvokeMethod("readEmailCodeUrl", null));
}
以上就是关于如何配置web-inf/security/ldapbindsecurityrealm.groovy全部的内容,包括:如何配置web-inf/security/ldapbindsecurityrealm.groovy、SpringBoot基础教程(七)——与remote shell的结合、groovy中使java必须import吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)