- 浏览: 292784 次
- 性别:
- 来自: 唐山
最新评论
-
小灯笼:
JBPM5.4实战流程引擎开发网盘地址:https://pan ...
跟我学工作流——jBPM4视频教程(免费) -
Kai_Ge:
学会做人 写道临远大哥,谢谢你的贡献大名鼎鼎的临远!!膜拜中。 ...
Spring Security-3.0.1中文官方文档(翻译版) -
漂泊一剑客:
博主,你自己电脑上有下载,这些信息吗,能否分享一下给我
跟我学工作流——jBPM4视频教程(免费) -
Rookie_Li:
您好,您的教程很有用,请问例子的源码在哪下载?
spring security权限管理手册升级至spring security-3.1.3 -
nullFFF:
马教授 写道现在还用4有点过时了,最新的都已经是5.4了,目前 ...
跟我学工作流——jBPM4视频教程(免费)
容器适配器认证
21.1. 概述
非常早期版本的Spring Security使用容器适配器进行最终用户的认证。 虽然它运行良好,但是需要很多时间来支持不同的容器版本,对于开发者来说配置时间也太长了。 因为这个原因,HTTP表单认证和HTTP基础认证方法才被开发出来,直到今天,被推荐用在几乎所有的程序中。
容器适配器让Spring Security可以将主机的最终用户程序与容器直接集成。 这种集合意味着,程序可以继续使用容易本身的认证和授权能力(比如isUserInRole()和基于表单或基本认证),虽然Spring Security提供加强的安全拦截能力(应该注意到,Spring Security也允许是用ContextHolderAwareRequestWrapper发送isUserInRole(),和简单的servlet规范兼容的方法)。
一般通过适配器进行容器和Spring Security集成。 适配器提供一个容器兼容的用户认证提供器,需要返回容器兼容的用户对象。
适配器由容器实例化,并定义在容器特定的配置文件里。 适配器将读取定义了普通的认证管理器设置的Spring的application context,就像可以用来认证请求的认证提供器一样。 application context通常叫做acegisecurity.xml,要把它放在容器指定的位置。
Spring Security现在支持Jetty, Catalina (Tomcat), JBoss 和 Resin。 其他容器的适配器也很容易编写。
21.2. 适配器认证提供器
始终是这种情况,容器适配器生成的Authentication对象还是需要在AbstractSecurityInterceptor需要处理请求的时候被AuthenticationManager认证。 AuthenticationManager需要确认适配器提供的Authentication对象是有效的,也确实被一个可信任的适配器认证过了。
适配器创建了 Authentication 对象,它是不变的,实现了AuthByAdapter接口。 这些对象保存了由适配器定义的key的散列码,。 这允许Authentication对象被AuthByAdapterProvider验证。 这个认证提供器定义如下:
<bean id="authByAdapterProvider"
class="org.springframework.security.adapters.AuthByAdapterProvider">
<property name="key"><value>my_password</value></property>
</bean>
这里的key必须与定义在容器特定配置文件,用来启动适配器的key相同。 这个AuthByAdapterProvider自动获得任何有效的AuthByAdapter实现,然后返回期待的key的散列值。
重申一下,这意味着适配器会在初始化认证的时候使用供应器,比如DaoAuthenticationProvider,返回一个包含key的散列值的AuthByAdapter实例,。 然后,当应用程序调用安全拦截器管理的资源时,AuthByAdapter实例,放在SecurityContextHolder里的SecurityContext,会被程序的AuthByAdapterProvider测试到。 这里不需要附加认证供应器,比如放到应用程序特定的application context里的DaoAuthenticationProvider,这是唯一的Authentication对象类型,会被从容器适配器里的程序用到的。
Classloader问题常常困扰着容器,以后会描述容器适配器的用法。 每个容器要求一个特别指定的配置。 安装教程提供在下面。 一旦安装好,请花点儿时间尝试一下例子,让你对容器适配器的配置有更多的了解。
在使用容器适配器和DaoAuthenticationProvider的时候,要确保将forcePrincipalAsString属性设置成true。
21.3. Jetty
以下代码,在Jetty 4.2.18下通过测试。
$JETTY_HOME代表你Jetty安装的根目录。
编辑 $JETTY_HOME/etc/jetty.xml 文件,在 <Configure class> 部分添加一个新的 addRealm 调用:
<Call name="addRealm">
<Arg>
<New class="org.springframework.security.adapters.jetty.JettySpringSecurityUserRealm">
<Arg>Spring Powered Realm</Arg>
<Arg>my_password</Arg>
<Arg>etc/acegisecurity.xml</Arg>
</New>
</Arg>
</Call>
把 acegisecurity.xml 复制到 $JETTY_HOME/etc目录下。
把下面的文件复制到 $JETTY_HOME/ext目录下:
*
aopalliance.jar
*
commons-logging.jar
*
spring.jar
*
acegi-security-jetty-XX.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与Jetty对应的。 web.xml必须使用与你的jetty.xml里相同的<realm-name>(像上面的例子里,"Spring Powered Realm")。
21.4. JBoss
下面的代码在JBoss 3.2.6下通过了测试。
$JBOSS_HOME代表你JBoss安装的根目录。
有两个不同方法,把spring环境集成到Jboss里。
第一种方法是,修改你的 $JBOSS_HOME/server/your_config/conf/login-config.xml 文件,这样它就在<Policy>部分包含了新的入口:
<application-policy name = "SpringPoweredRealm">
<authentication>
<login-module code = "org.springframework.security.adapters.jboss.JbossSpringSecurityLoginModule"
flag = "required">
<module-option name = "appContextLocation">acegisecurity.xml</module-option>
<module-option name = "key">my_password</module-option>
</login-module>
</authentication>
</application-policy>
把 acegisecurity.xml 复制到 $JBOSS_HOME/server/your_config/conf目录下。
在配置文件 acegisecurity.xml里包含了spring环境的定义,包含了所有认证管理的bean。 我们必须注意,SecurityContext会在每次请求时被创建销毁,所以登录操作会造成很大的资源消耗。 可选的第二个方法通过org.springframework.beans.factory.access.SingletonBeanFactoryLocator使用Spring单例。 需要的配置方法如下:
<application-policy name = "SpringPoweredRealm">
<authentication>
<login-module code = "org.springframework.security.adapters.jboss.JbossSpringSecurityLoginModule"
flag = "required">
<module-option name = "singletonId">springRealm</module-option>
<module-option name = "key">my_password</module-option>
<module-option name = "authenticationManager">authenticationManager</module-option>
</login-module>
</authentication>
</application-policy>
上面的代码片段, authenticationManager是一个助手属性,定义成期望的AuthenticationManager的名字,在IoC容器里有多个定义的时候可以用到。 这个singletonId属性引用了定义在beanRefFactory.xml中的一个bean。 这个文件需要放在JBoss的classpath中,包括$JBOSS_HOME/server/your_config/conf。 这个beanRefFactory.xml包含了下面的声明:
<beans>
<bean id="springRealm" singleton="true" lazy-init="true" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>acegisecurity.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
最后,无论使用了哪种配置方法,你需要把下面的文件复制到 $JBOSS_HOME/server/your_config/lib目录下:
*
aopalliance.jar
*
spring.jar
*
acegi-security-jboss-XX.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与JBoss对应的。 然而,你web应用的WEB-INF/jboss-web.xml里的<security-domain>应该与你的login-config.xml中的内容一样。 比如,你的jboss-web.xml看起来应该是这样:
21.5. Resin
下面的代码在Resin 3.0.6下通过测试。
$RESIN_HOME代表你Resin安装的根目录。
Resin提供了好几种方法实现容器适配器。 在下面的教程里,我们使用了尽量与其他容器适配器一致的配置。 这会让Resin用户更容易发布同样的程序,确保配置正确。 开发者对Resin感到舒服,自然可以使用它的方法,打包JAR同web程序自己,和/或支持单点登录。
把下面的文件复制到 $RESIN_HOME/lib目录下:
*
aopalliance.jar
*
commons-logging.jar
*
spring.jar
*
acegi-security-resin-XX.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
与其他容器适配器使用的,容器范围的 acegisecurity.xml文件不同,每个Resin web程序会包含自己的WEB-INF/resin-acegisecurity.xml文件。 每个web应用会包含一个resin-web.xml文件,Resin用它来启动容器适配器:
<web-app>
<authenticator>
<type>org.springframework.security.adapters.resin.ResinAcegiAuthenticator</type>
<init>
<app-context-location>WEB-INF/resin-acegisecurity.xml</app-context-location>
<key>my_password</key>
</init>
</authenticator>
</web-app>
像上面提供的基本配置那样,上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与Resin无关的,认证的类根据<authenticator>设置的。
21.6. Tomcat
下面的代码在Jakarta Tomcat 4.1.30 和 5.0.19通过的了测试。
$CATALINA_HOME代表你的 Catalina (Tomcat) 安装根目录。
编辑你的 $CATALINA_HOME/conf/server.xml 文件,让 <Engine> 部分只包含一个活动的 <Realm> 入口。一个 realm入口的例子如下:
<Realm
className="org.springframework.security.adapters.catalina.CatalinaSpringSecurityUserRealm"
appContextLocation="conf/acegisecurity.xml"
key="my_password" />
确认从你的 <Engine>部分删除了其他的 <Realm> 入口。
把 acegisecurity.xml 复制到$CATALINA_HOME/conf目录下。
把 spring-security-catalina-XX.jar 复制到$CATALINA_HOME/server/lib 目录下。
吧下面的文件复制到 $CATALINA_HOME/common/lib目录下:
*
aopalliance.jar
*
spring.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与Catalina无关的。
我们收到了在Mac OS X下使用这个容器适配器的问题报告。需要使用下面的脚本:
#!/bin/sh
export CATALINA_HOME="/Library/Tomcat"
export JAVA_HOME="/Library/Java/Home"
cd /
$CATALINA_HOME/bin/startup.sh
最后,重启tomcat。
21.1. 概述
非常早期版本的Spring Security使用容器适配器进行最终用户的认证。 虽然它运行良好,但是需要很多时间来支持不同的容器版本,对于开发者来说配置时间也太长了。 因为这个原因,HTTP表单认证和HTTP基础认证方法才被开发出来,直到今天,被推荐用在几乎所有的程序中。
容器适配器让Spring Security可以将主机的最终用户程序与容器直接集成。 这种集合意味着,程序可以继续使用容易本身的认证和授权能力(比如isUserInRole()和基于表单或基本认证),虽然Spring Security提供加强的安全拦截能力(应该注意到,Spring Security也允许是用ContextHolderAwareRequestWrapper发送isUserInRole(),和简单的servlet规范兼容的方法)。
一般通过适配器进行容器和Spring Security集成。 适配器提供一个容器兼容的用户认证提供器,需要返回容器兼容的用户对象。
适配器由容器实例化,并定义在容器特定的配置文件里。 适配器将读取定义了普通的认证管理器设置的Spring的application context,就像可以用来认证请求的认证提供器一样。 application context通常叫做acegisecurity.xml,要把它放在容器指定的位置。
Spring Security现在支持Jetty, Catalina (Tomcat), JBoss 和 Resin。 其他容器的适配器也很容易编写。
21.2. 适配器认证提供器
始终是这种情况,容器适配器生成的Authentication对象还是需要在AbstractSecurityInterceptor需要处理请求的时候被AuthenticationManager认证。 AuthenticationManager需要确认适配器提供的Authentication对象是有效的,也确实被一个可信任的适配器认证过了。
适配器创建了 Authentication 对象,它是不变的,实现了AuthByAdapter接口。 这些对象保存了由适配器定义的key的散列码,。 这允许Authentication对象被AuthByAdapterProvider验证。 这个认证提供器定义如下:
<bean id="authByAdapterProvider"
class="org.springframework.security.adapters.AuthByAdapterProvider">
<property name="key"><value>my_password</value></property>
</bean>
这里的key必须与定义在容器特定配置文件,用来启动适配器的key相同。 这个AuthByAdapterProvider自动获得任何有效的AuthByAdapter实现,然后返回期待的key的散列值。
重申一下,这意味着适配器会在初始化认证的时候使用供应器,比如DaoAuthenticationProvider,返回一个包含key的散列值的AuthByAdapter实例,。 然后,当应用程序调用安全拦截器管理的资源时,AuthByAdapter实例,放在SecurityContextHolder里的SecurityContext,会被程序的AuthByAdapterProvider测试到。 这里不需要附加认证供应器,比如放到应用程序特定的application context里的DaoAuthenticationProvider,这是唯一的Authentication对象类型,会被从容器适配器里的程序用到的。
Classloader问题常常困扰着容器,以后会描述容器适配器的用法。 每个容器要求一个特别指定的配置。 安装教程提供在下面。 一旦安装好,请花点儿时间尝试一下例子,让你对容器适配器的配置有更多的了解。
在使用容器适配器和DaoAuthenticationProvider的时候,要确保将forcePrincipalAsString属性设置成true。
21.3. Jetty
以下代码,在Jetty 4.2.18下通过测试。
$JETTY_HOME代表你Jetty安装的根目录。
编辑 $JETTY_HOME/etc/jetty.xml 文件,在 <Configure class> 部分添加一个新的 addRealm 调用:
<Call name="addRealm">
<Arg>
<New class="org.springframework.security.adapters.jetty.JettySpringSecurityUserRealm">
<Arg>Spring Powered Realm</Arg>
<Arg>my_password</Arg>
<Arg>etc/acegisecurity.xml</Arg>
</New>
</Arg>
</Call>
把 acegisecurity.xml 复制到 $JETTY_HOME/etc目录下。
把下面的文件复制到 $JETTY_HOME/ext目录下:
*
aopalliance.jar
*
commons-logging.jar
*
spring.jar
*
acegi-security-jetty-XX.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与Jetty对应的。 web.xml必须使用与你的jetty.xml里相同的<realm-name>(像上面的例子里,"Spring Powered Realm")。
21.4. JBoss
下面的代码在JBoss 3.2.6下通过了测试。
$JBOSS_HOME代表你JBoss安装的根目录。
有两个不同方法,把spring环境集成到Jboss里。
第一种方法是,修改你的 $JBOSS_HOME/server/your_config/conf/login-config.xml 文件,这样它就在<Policy>部分包含了新的入口:
<application-policy name = "SpringPoweredRealm">
<authentication>
<login-module code = "org.springframework.security.adapters.jboss.JbossSpringSecurityLoginModule"
flag = "required">
<module-option name = "appContextLocation">acegisecurity.xml</module-option>
<module-option name = "key">my_password</module-option>
</login-module>
</authentication>
</application-policy>
把 acegisecurity.xml 复制到 $JBOSS_HOME/server/your_config/conf目录下。
在配置文件 acegisecurity.xml里包含了spring环境的定义,包含了所有认证管理的bean。 我们必须注意,SecurityContext会在每次请求时被创建销毁,所以登录操作会造成很大的资源消耗。 可选的第二个方法通过org.springframework.beans.factory.access.SingletonBeanFactoryLocator使用Spring单例。 需要的配置方法如下:
<application-policy name = "SpringPoweredRealm">
<authentication>
<login-module code = "org.springframework.security.adapters.jboss.JbossSpringSecurityLoginModule"
flag = "required">
<module-option name = "singletonId">springRealm</module-option>
<module-option name = "key">my_password</module-option>
<module-option name = "authenticationManager">authenticationManager</module-option>
</login-module>
</authentication>
</application-policy>
上面的代码片段, authenticationManager是一个助手属性,定义成期望的AuthenticationManager的名字,在IoC容器里有多个定义的时候可以用到。 这个singletonId属性引用了定义在beanRefFactory.xml中的一个bean。 这个文件需要放在JBoss的classpath中,包括$JBOSS_HOME/server/your_config/conf。 这个beanRefFactory.xml包含了下面的声明:
<beans>
<bean id="springRealm" singleton="true" lazy-init="true" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>acegisecurity.xml</value>
</list>
</constructor-arg>
</bean>
</beans>
最后,无论使用了哪种配置方法,你需要把下面的文件复制到 $JBOSS_HOME/server/your_config/lib目录下:
*
aopalliance.jar
*
spring.jar
*
acegi-security-jboss-XX.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与JBoss对应的。 然而,你web应用的WEB-INF/jboss-web.xml里的<security-domain>应该与你的login-config.xml中的内容一样。 比如,你的jboss-web.xml看起来应该是这样:
21.5. Resin
下面的代码在Resin 3.0.6下通过测试。
$RESIN_HOME代表你Resin安装的根目录。
Resin提供了好几种方法实现容器适配器。 在下面的教程里,我们使用了尽量与其他容器适配器一致的配置。 这会让Resin用户更容易发布同样的程序,确保配置正确。 开发者对Resin感到舒服,自然可以使用它的方法,打包JAR同web程序自己,和/或支持单点登录。
把下面的文件复制到 $RESIN_HOME/lib目录下:
*
aopalliance.jar
*
commons-logging.jar
*
spring.jar
*
acegi-security-resin-XX.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
与其他容器适配器使用的,容器范围的 acegisecurity.xml文件不同,每个Resin web程序会包含自己的WEB-INF/resin-acegisecurity.xml文件。 每个web应用会包含一个resin-web.xml文件,Resin用它来启动容器适配器:
<web-app>
<authenticator>
<type>org.springframework.security.adapters.resin.ResinAcegiAuthenticator</type>
<init>
<app-context-location>WEB-INF/resin-acegisecurity.xml</app-context-location>
<key>my_password</key>
</init>
</authenticator>
</web-app>
像上面提供的基本配置那样,上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与Resin无关的,认证的类根据<authenticator>设置的。
21.6. Tomcat
下面的代码在Jakarta Tomcat 4.1.30 和 5.0.19通过的了测试。
$CATALINA_HOME代表你的 Catalina (Tomcat) 安装根目录。
编辑你的 $CATALINA_HOME/conf/server.xml 文件,让 <Engine> 部分只包含一个活动的 <Realm> 入口。一个 realm入口的例子如下:
<Realm
className="org.springframework.security.adapters.catalina.CatalinaSpringSecurityUserRealm"
appContextLocation="conf/acegisecurity.xml"
key="my_password" />
确认从你的 <Engine>部分删除了其他的 <Realm> 入口。
把 acegisecurity.xml 复制到$CATALINA_HOME/conf目录下。
把 spring-security-catalina-XX.jar 复制到$CATALINA_HOME/server/lib 目录下。
吧下面的文件复制到 $CATALINA_HOME/common/lib目录下:
*
aopalliance.jar
*
spring.jar
*
commons-codec.jar
*
burlap.jar
*
hessian.jar
上面那些JAR文件(或者是acegi-security-XX.jar)都不能放在你程序的WEB-INF/lib目录下。 你的web.xml里设置的realm名字是与Catalina无关的。
我们收到了在Mac OS X下使用这个容器适配器的问题报告。需要使用下面的脚本:
#!/bin/sh
export CATALINA_HOME="/Library/Tomcat"
export JAVA_HOME="/Library/Java/Home"
cd /
$CATALINA_HOME/bin/startup.sh
最后,重启tomcat。
发表评论
-
spring security权限管理手册升级至spring security-3.1.3
2012-12-08 01:01 12296费了半天劲,终于把原来基于spring security 2. ... -
请把acegi替换成Spring Security(内附视频)
2010-03-22 09:54 6561在对web项目进行权限管理时,采用的方法无非是写一大堆JSP或 ... -
Spring Security-3.0.1中文官方文档(翻译版)
2010-01-19 09:36 10644这次发布的Spring Security-3.0.1是一个bu ... -
敬献Spring Security-3.x官方文档中文版
2009-12-29 11:43 10878Spring Security-3.x新近发布,整体的项 ... -
【分享】《基于Spring Security的ACL实现与扩展》内附ppt下载
2009-09-21 09:43 3450上次朋友间技术交流整理的ppt文档,因为之前一直在整理Spri ... -
Spring Security 安全权限管理手册(0.1.0更新)
2009-08-05 10:26 5033随着内容的堆叠,文档结构开始渐渐混乱了,到0.1.0为止关于认 ... -
Spring Security 安全权限管理手册(0.0.9更新)
2009-07-27 09:27 3278这次更新中包含了一个在用户输入密码错误三次后锁定账户的示 ... -
Spring Security 安全权限管理手册(0.0.8更新)
2009-07-20 09:58 1890Spring Security-2.0.5发布,这个bug ... -
Spring Security 安全权限管理手册(0.0.7更新)
2009-07-13 00:38 3196这一次迭代,对章节的命名进行了这里,目标是尽快覆盖Spring ... -
Spring Security 安全权限管理手册(0.0.6更新)
2009-07-10 01:54 1669这一次,我们添加了taglib标签库的时候,以及如何使用多种方 ... -
Spring Security手册更新cas, basic, acl
2009-06-29 18:13 2669这次更新的都是重头戏,CAS和ACL。其中ACL只是简述了Sp ... -
Spring Security手册更新——添加“管理会话”和对namespace,database
2009-06-22 10:04 1941新增的部分有,第八章“管理会话”,附录D,E分别整 ... -
图解Spring Security默认使用的过滤器
2009-06-15 10:38 3860第 9 章 图解过滤器 图 9.1. au ... -
Spring Security-2.0导航-基础篇,又添两章
2009-06-10 10:31 1915目前我们在基础篇中已经编写了六章,基本上可 ... -
Spring Security-2.0入门教程(基础篇)
2009-06-04 17:48 4775欢迎阅读咱们写的Spring Security教程,咱们既不想 ... -
springsecurity-2.x官方文档中文翻译初步整理完成,附上几个例子
2008-08-17 11:12 7891预览地址:http://family168.com/tutor ... -
(翻译)Spring Security-2.0.x参考文档“领域对象安全”
2008-08-13 00:18 2199领域对象安全 24.1. 概述 请注意:在2.0.0之前,S ... -
(翻译)Spring Security-2.0.x参考文档“安全对象实现”
2008-08-12 09:50 2027安全对象实现 23.1. AOP联盟 (MethodInvoc ... -
(翻译)Spring Security-2.0.x参考文档“通用授权概念”
2008-08-11 18:22 2819通用授权概念 22.1. 授权 在认证部分简略提过了,所有的 ... -
(翻译)Spring Security-2.0.x参考文档“安全数据库表结构”
2008-08-10 09:52 2035安全数据库表结构 可以为框架采用不同的数据库结构,这个附录为 ...
相关推荐
包含翻译后的API文档:spring-security-core-5.3.9.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-core:5.3.9.RELEASE; 标签:springframework、security...
spring-beans-2.0.xsd
包含翻译后的API文档:spring-security-core-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-core:5.2.0.RELEASE; 标签:springframework、security...
包含翻译后的API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security.oauth:spring-security-oauth2:2.3.5.RELEASE; 标签:spring、security...
包含翻译后的API文档:spring-security-rsa-1.0.10.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-rsa:1.0.10.RELEASE; 标签:spring、rsa、security、...
包含翻译后的API文档:spring-security-jwt-1.0.10.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-jwt:1.0.10.RELEASE; 标签:spring、security、jwt、...
包含翻译后的API文档:spring-security-web-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-web:5.2.0.RELEASE; 标签:springframework、security、...
spring-boot-starter-web-2.0.7.0.jar
spring-dwr-2.0.xsd spring 与 DWR进行配置
包含翻译后的API文档:spring-boot-actuator-autoconfigure-2.3.12.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.boot:spring-boot-actuator-autoconfigure:2.3.12....
Struts2-Spring-Plugin-2.0.11.1版本是在2.0.11.1时期发布的,可能包含了一些特定的修复和优化,具体可以查阅该版本的发行说明或官方文档,以了解其特性、改进和已知问题。 在使用这个插件时,你需要在Struts2的...
包含翻译后的API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.security.oauth:spring-security-oauth2:2.3.5.RELEASE; 标签:spring...
包含翻译后的API文档:spring-security-core-5.0.7.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-core:5.0.7.RELEASE; 标签:springframework、security...
spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-2.5.2.jar spring-aop-2.5.4.jar spring-aop-2.5.5.jar spring-aop-2.5.6.jar spring-aop-3.0.0.RELEASE.jar spring-aop-3.0.2.RELEASE.jar spring-aop-sources...
包含翻译后的API文档:spring-security-crypto-5.6.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-crypto:5.6.1; 标签:spring、security、springframework、...
包含翻译后的API文档:spring-security-jwt-1.0.10.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.security:spring-security-jwt:1.0.10.RELEASE; 标签:spring、security...
3. **整合Struts 2和Spring**:通过Struts的Spring插件实现Action类的Spring托管,这样Action实例由Spring容器管理,可以实现依赖注入。 4. **配置Hibernate**:配置数据库连接信息,创建实体类,并生成对应的映射...
包含翻译后的API文档:spring-security-crypto-5.5.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-crypto:5.5.2; 标签:springframework、security、spring、...
包含翻译后的API文档:spring-security-config-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.security:spring-security-config:5.2.0.RELEASE; 标签:springframework、...