<!-- acegi的通道过滤器 -->
<bean id="channelProcessingFilter" class="org.springframework.security.securechannel.ChannelProcessingFilter">
<property name="channelDecisionManager" ref="channelDecisionManager"/>
<property name="filterInvocationDefinitionSource">
<value>
CONVERT_URL_TO_UPPERCASE_BEFORE_COMPARISON
\A/web/page/login/login_name.jsp\Z=REQUIRES_SECURE_CHANNEL
\A/j_acegi_security_check.*\Z=REQUIRES_SECURE_CHANNEL
\A.*\Z=REQUIRES_INSECURE_CHANNEL
</value>
</property>
</bean>
<bean id="channelDecisionManager" class="org.springframework.security.securechannel.ChannelDecisionManagerImpl">
<property name="channelProcessors">
<list>
<ref local="secureChannelProcessor"/>
<bean class="org.springframework.security.securechannel.InsecureChannelProcessor"/>
</list>
</property>
</bean>
<bean id="secureChannelProcessor" class="org.springframework.security.securechannel.SecureChannelProcessor">
<property name="entryPoint" ref="retryWithHttpsEntryPoint"/>
</bean>
<bean id="retryWithHttpsEntryPoint" class="org.springframework.security.securechannel.RetryWithHttpsEntryPoint">
<property name="portMapper" ref="portMapper"/>
</bean>
<bean id="portMapper" class="org.springframework.security.util.PortMapperImpl">
<property name="portMappings">
<map>
<entry key="8888" value="8443"></entry>
</map>
</property>
</bean>
tomcat下的conf/server.xml 加入
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true" acceptCount="100"
scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="tomcat.keystore" keystorePass="" keystoreType="jks"/>
dos下执行,生成代码复制到tomcat根目录
keytool -genkey -alias tomcat -keyalg RSA -keystore d:tomcat.keystore
分享到:
相关推荐
在“Acegi 各过滤的解析(二)”这篇博文中,作者深入探讨了 Acegi 框架中的核心过滤器,以及如何通过配置 `applicationContext-security.xml` 文件来定制安全策略。下面我们将详细解析 Acegi 的关键过滤器及其配置...
3. **ChannelProcessingFilter**:此过滤器确保特定的安全操作(如密码更改)只能通过安全通道(如HTTPS)进行,增强了传输层的安全性。 4. **ExceptionTranslationFilter**:当安全检查失败或发生其他安全异常时,...
2. **配置 Acegi 安全过滤器**:Acegi 的核心功能是通过一个名为 `AcegiSecurityFilterChain` 的过滤器链来实现的。在 `web.xml` 中,你需要配置这个过滤器链,使其拦截所有的 HTTP 请求,并进行安全处理。 ```xml ...
5. **启动安全过滤器**:将Acegi的安全过滤器添加到Web应用的过滤器链中,通常是`ChannelProcessingFilter`和`SecurityContextHolderAwareRequestFilter`。 6. **测试和调试**:确保所有安全配置正确无误后,进行...
在本文中,我们将深入理解如何将Acegi应用到实际项目中,特别关注其核心配置——web.xml中的过滤器设置和Acegi安全文件的配置。 首先,我们来看web.xml中的过滤器配置: 1. **FilterToBeanProxy**:Acegi通过...
Acegi Security通过一系列的过滤器(如`ChannelProcessingFilter`、`AuthenticationProcessingFilter`等)来处理HTTP请求,这些过滤器可以按需配置并插入到Spring MVC的DispatcherServlet前面。 7. **实战Acegi:...
4. **Filter Security Interceptor(过滤器安全拦截器)**:这是Acegi的关键组件,它拦截HTTP请求,根据安全配置决定是否允许请求继续。这通常涉及到认证和授权的检查。 5. **Exception Translation(异常转换)**...
有多种过滤器,如ChannelProcessingFilter(处理HTTP和HTTPS通道)、AuthenticationProcessingFilter(处理身份验证)、SecurityContextHolderAwareRequestFilter(使请求对SecurityContextHolder可见)、...
4. **过滤器链(Filter Chain)**:Acegi Security的Web安全功能主要通过Servlet过滤器实现,如`ChannelProcessingFilter`处理请求的传输安全(HTTP/HTTPS切换),`AcegiSecurityContextRepositoryFilter`用于在请求...
它包含了一系列预定义的过滤器,如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`HttpSessionContextIntegrationFilter`等,这些过滤器协同工作,执行身份验证、授权和会话管理等任务。开发者可以根据需要...
4. **过滤器链**:Spring Security的核心在于其过滤器链,其中包含了如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`SecurityContextPersistenceFilter`、`UsernamePasswordAuthenticationFilter`等一系列...
3. **过滤器链**:Spring Security 3 使用一系列过滤器来处理HTTP请求,包括FilterSecurityInterceptor和ChannelProcessingFilter等。这些过滤器在请求到达控制器之前执行,确保只有经过授权的用户才能访问受保护的...
关键过滤器包括:DelegatingFilterProxy(指向Spring Security Filter Chain的代理)、ChannelProcessingFilter(处理HTTPS请求)、SecurityContextPersistenceFilter(在请求之间保存安全上下文)、LogoutFilter...
**三、过滤器链** Spring Security的核心是其过滤器链,它处理HTTP请求并执行安全逻辑。主要的过滤器有: - `SecurityContextPersistenceFilter`:在每次请求之间保持安全上下文。 - `...