`
uiiang
  • 浏览: 29638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

acegi 限制用户同一时间登录次数

阅读更多
web.xml 中添加
	<filter>
		<filter-name>securityFilter</filter-name>
		<filter-class>
			org.acegisecurity.util.FilterToBeanProxy
		</filter-class>
		<init-param>
			<param-name>targetClass</param-name>
			<param-value>
				org.acegisecurity.util.FilterChainProxy
			</param-value>
		</init-param>
	</filter>


<listener>
  <listener-class>org.acegisecurity.ui.session.HttpSessionEventPublisher</listener-class>
</listener>



security.xml中添加

<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
		<property name="filterInvocationDefinitionSource">
			<value>
                CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                PATTERN_TYPE_APACHE_ANT
                /**=concurrentSessionFilter,httpSessionContextIntegrationFilter.....other...
            </value>
		</property>
	</bean>
concurrentSessionFilter一定要在httpSessionContextIntegrationFilter前

	<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
		<property name="providers">
			<list>
				<ref local="daoAuthenticationProvider" />
				<ref local="anonymousAuthenticationProvider" />
			</list>
		</property>
		<property name="sessionController">
			<ref bean="concurrentSessionController" />
		</property>
	</bean>


<bean id="channelProcessingFilter" class="org.acegisecurity.securechannel.ChannelProcessingFilter">
		<property name="channelDecisionManager" ref="channelDecisionManager" />
	</bean>

	<bean id="concurrentSessionController"
        class="org.acegisecurity.concurrent.ConcurrentSessionControllerImpl">
        <property name="maximumSessions">
            <value>1</value>  <----限制登录的次数
        </property>
        <property name="sessionRegistry" ref="sessionRegistry" />
        <property name="exceptionIfMaximumExceeded" value="false" />  <--false为踢出前一个登录用户,true为阻止当前正在登录的用户
    </bean>
    <bean id="sessionRegistry" class="org.acegisecurity.concurrent.SessionRegistryImpl" />
    <bean id="concurrentSessionFilter" class="org.acegisecurity.concurrent.ConcurrentSessionFilter">
        <property name="sessionRegistry" ref="sessionRegistry" />
        <property name="expiredUrl">
            <value>/</value>
        </property>
    </bean>
	
	<bean id="channelDecisionManager"
		class="org.acegisecurity.securechannel.ChannelDecisionManagerImpl">
		<property name="channelProcessors">
			<list>
				<bean class="org.acegisecurity.securechannel.SecureChannelProcessor" />
				<bean class="org.acegisecurity.securechannel.InsecureChannelProcessor" />
			</list>
		</property>
	</bean>
分享到:
评论

相关推荐

    使用acegi控制用户权限实例

    NULL 博文链接:https://zw7534313.iteye.com/blog/2224254

    acegi

    acegi,acegi,acegi

    acegi使用说明acegi原理及如何与spring、hibernate结合

    Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web... 在Acegi安全系统中,需要被认证的用户,系统或代理称为"Principal"。Acegi安全系统和其他的安全系统不同,它并没有角色和用户组的概念。

    ACEGI

    不错的ACEGI 教程

    Acegi-spring安全框架

    Acegi能做什么 Acegi的体系结构 Acegi核心组件 典型的web认证过程 Acegi的登陆认证 Acegi对安全对象的访问控制 Filter 组件 Acegi的不足之处

    spring acegi 详细文档

    Acegi文档 spring acegi 详细文档

    acegi安全框架简介

    Acegi安全系统,是一个用于Spring Framework的安全框架,能够和目前流行的Web容器无缝集成。它使用了Spring的方式提供了安全和认证安全服务,包括使用Bean Context,拦截器和面向接口的编程方式。因此,Acegi安全...

    Acegi框架介绍 acegi安全与认证

    acegi 框架 介绍 spring 安全

    acegi-security 1.0.2

    acegi-security 1.0.2.jar

    acegisecurity内所有jar包

    包含acegi-security-1.0.7.jar,acegi-security-1.0.7-sources.jar,acegi-security-cas-1.0.7.jar,acegi-security-cas-1.0.7-sources.jar,acegi-security-catalina-1.0.7.jar,acegi-security-catalina-1.0.7-...

    acegi-security1.0.1

    acegi安全系统,是一个用于spring framework的安全框架,能够和目前流行的web... 在acegi安全系统中,需要被认证的用户,系统或代理称为"principal"。acegi安全系统和其他的安全系统不同,它并没有角色和用户组的概念。

    acegi-src1.0.5

    acegi,spring的安全验证框架

    基于java的ACEGI

    关于Acegi的安全框架,里面有Acegi的实例,讲述得挺清楚的,

    Acegi例子代码+一个很好的学习Acegi的网址

    1、一个Acegi的例子,可以运行 2、一个很好的学Acegi的网址,0基础学习Acegi,强烈推荐 3、有什么问题可以发邮件heroshen@126.com讨论

    Acegi使用.pdf

    Acegi使用.pdf

    acegi实现用户权限

    NULL 博文链接:https://maserkinger.iteye.com/blog/970830

Global site tag (gtag.js) - Google Analytics