先说一下Spring security 是基于spring的一个强大的安全验证模块,它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能。
LDAP是轻量目录访问协议,基于tcp/ip协议,一般为企业的基本信息的访问提供一个统一的访问方式,它存储的数据是以树形结构存储的,因此,访问速度超快,但是相对的存储速度很慢。当然,你肯定也不能使用sql语句了
首先说一下所需要的jar包,当然也有maven配置,网上应该有很多
spring-security-config
spring-security-core
spring-security-ldap
spring-security-taglibs
spring-security-web
好吧,开始要先配置spring-security,由于本身就是基于spring的,配置起来也很简单
首先在web,xml中配置一个security的filter:
然后在spring-mvc文件里配置一个bean
同时需要配置ldap数据源:
好的,然后还有一个spring-security.xml需要创建并配置:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
default-target-url="/home/index" always-use-default-target="true" />
一定要注意 xsi:schemaLocation的url地址的填写,否则各种错误。
其中,login.jsp是默认进入页面,home/index是默认页面的路径,
然后将在spring-mvc里配置的bean配置在authentication-manager里面,记得要写login.jsp,如:
全时运营中心
登录失败:<%= ((AuthenticationException) session.getAttribute(UsernamePasswordAuthenticationFilter.SPRING_SECURITY_LAST_EXCEPTION_KEY)).getMessage() %>