`
iavere
  • 浏览: 11067 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

CAS通过用户名与ip限制密码输入错误次数(转)

 
阅读更多
之前自己通过修改源码实现了以用户名为单位限制其密码输入次数,但这样做不是很合理,如果是同一ip不同用户名呢?于是就想把也通过ip限制的功能加上。今天无意逛官网时竟然发现CAS里面有类似的功能,可以通过用户名或ip来做登录限制。没有仔细查看文档的结果就是做了一点无用功。下面介绍下开启cas限制密码输入次数的功能。有两种方法:一是把状态保存到内存中,二是通过Inspektr来管理。下面主要介绍保存到内存的方法(使用3.4.10版本的cas):

在WEB-INF\spring-configuration下创建throttleInterceptorTrigger.xml配置文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="throttleInterceptor"
class="org.jasig.cas.web.support.InMemoryThrottledSubmissionByIpAddressAndUsernameHandlerInterceptorAdapter"
p:failureRangeInSeconds="120" 
p:failureThreshold="2" />

<bean id="throttleInterceptorJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
p:targetObject-ref="throttleInterceptor" p:targetMethod="decrementCounts" />

<bean id="periodicThrottleCleanerTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerBean"
p:jobDetail-ref="throttleInterceptorJobDetail" p:startDelay="0"
p:repeatInterval="20000" />
</beans>

其中failureThreshold为同一ip或同一用户允许错误次数

到cas-servlet.xml配置文件修改FlowHandlerMappingbean,如下:

<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping" p:flowRegistry-ref="flowRegistry" p:order="2">
        <property name="interceptors">
        <list>        
        <ref local="localeChangeInterceptor" />        
        <ref bean="throttleInterceptor" />  
        </list>          
        </property>
    </bean>完成


分享到:
评论

相关推荐

    定制cas单点登录用户名密码验证

    【标题】:“定制CAS单点登录用户名密码验证” 在IT领域,CAS(Central Authentication Service,中央认证服务)是一种广泛使用的开放源代码身份验证框架,它允许用户通过单一登录(Single Sign-On, SSO)访问多个...

    单点登入--CAS3.0

    3. **CAS登录页面**:用户在CAS服务器上输入用户名和密码进行登录。 4. **验证用户**:CAS服务器验证用户凭证,如果成功,会生成一个服务票据(Service Ticket)。 5. **返回服务票据**:CAS将服务票据发送回用户...

    cas server 5.3.9 整合数据库验证用户信息,使用security密码验证方式

    1. **配置数据库连接**:首先,你需要在CAS服务器的配置文件中设置数据库连接参数,如数据库URL、用户名、密码和驱动类名。这通常在`cas.properties`或`application.yml`中完成。 2. **定义用户实体**:确定在...

    cas集成AD域

    在企业环境中,尤其是在已部署了Active Directory(AD)域服务的情况下,将CAS与AD集成可以实现用户通过一次认证就能访问所有系统,提升用户体验并加强安全性。 AD域是微软Windows Server操作系统中的一个组件,它...

    CAS自定义加密和登录验证

    1. **认证处理器**:你需要创建一个实现了`AuthenticationHandler`接口的类,这个类将处理实际的认证逻辑,比如连接到特定的后端系统,查询用户信息,验证用户名和密码。 2. **服务定义**:在CAS服务器中,你需要为...

    cas3.5.2单点登录文档详细配置

    CAS Server负责用户的身份验证,独立部署,处理用户的凭证如用户名和密码。而CAS Client则部署在各个需要保护的Web应用中,负责拦截请求并引导用户到CAS Server进行认证。 【CAS协议流程】 基础的CAS协议包括以下...

    搭建cas服务,cas与sqlserver连接,cas与security连接

    2. **配置数据库连接**:在`/conf/cas.properties`中添加数据库的相关配置,如URL、用户名、密码等。 3. **创建数据库表**:CAS会使用特定的数据库表进行操作,你需要预先创建这些表。这通常可以通过运行CAS提供的...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    在默认情况下,CAS会通过用户名和密码进行基本的认证。但在实际项目中,可能会需要与不同的后端系统或数据库进行交互,例如LDAP、AD或自定义的认证方式。此压缩包包含了如何自定义CAS服务端认证的指南,你可以根据...

    CAS实现原理与例子

    CAS(Central Authentication Service,中央认证服务)是一种单点登录(Single Sign-On,SSO)机制,允许用户在访问不同的应用系统时,只需要输入一次用户名和密码。CAS实现原理与例子主要包括以下几个方面: 一、...

    cas apereo 5.3.16实现对接数据库以及自定义用户名密码校验

    已实现对接数据库以及自定义用户名密码校验,如有问题请参照该文https://blog.csdn.net/dcjmessi/article/details/139743923修改

    cas .net客户端的配置代码

    在.NET环境中,我们可以使用`System.Web.Security.FormsAuthentication`类或者专门的CAS .NET客户端库来实现与CAS服务器的集成。 对于CAS .NET客户端的配置,主要涉及以下几个步骤: 1. **安装CAS客户端库**:通常...

    cas、第三方接口登录

    SSO允许用户通过一次登录,就可以访问多个应用系统,无需重复输入用户名和密码。这对于大型企业或组织来说,可以提高用户体验,同时简化安全管理。 Cas单点登录的工作原理大致如下: 1. 用户尝试访问一个受CAS保护...

    cas 自定义登录页面

    1. 表单提交:在自定义登录页面的JavaScript中,当用户点击登录按钮时,你需要创建一个POST请求,将用户名和密码发送到CAS服务器的登录端点。端点通常是`/cas/login`,示例如下: ```javascript function ...

    CAS示例环境部署及配置

    2. 用户输入正确的用户名和密码,CAS Server 验证成功后返回一个票据(ticket)。 3. 客户端应用收到票据,向 CAS Server 验证票据的有效性,验证通过后允许用户访问。 4. 用户访问 app2 时,由于已持有有效的票据,...

    基于CAS的统一认证平台的设计与实现.pdf

    在SSO机制下,用户只需向CAS服务器提供一次身份凭证(如用户名和密码),就可以获得对多个应用系统的访问权限。之后的访问过程中,用户无需重复提供凭证,因为CAS服务会为每个用户建立一个票据(ticket),作为用户...

    cas单点登录系统

    CASServer负责完成对用户的认证工作,CASServer需要独立部署,CASServer处理用户名/密码等凭证(Credentials)验证,它可能会到数据库检索一条用户帐号信息,也可能在XML文件中检索用户密码,CAS均提供一种灵活但统一...

    基于springboot,cas5.3,shiro,pac4j,rest接口获取ticket不再跳转cas server登录页

    CAS则是一种开放源码的单点登录(Single Sign-On, SSO)协议,它允许用户通过单一登录凭证访问多个应用,而无需反复输入用户名和密码。CAS 5.3版本引入了更多的改进和增强,包括支持RESTful API,使得与CAS交互更加...

    CAS单点登录Demo

    2. **登录验证**:用户在CAS Server上输入凭证(如用户名和密码),服务器验证这些凭证。 3. **生成票据**:验证成功后,CAS Server生成服务票据(Service Ticket),并重定向用户回原始请求的SP,同时附带服务票据...

    cas 单点登录

    3. **用户登录:** 用户在CAS服务器上输入用户名和密码进行身份验证。 4. **服务票证(Service Ticket):** 验证成功后,CAS服务器生成一个服务票证ST(Service Ticket),并将其发送回用户。 5. **用户提交服务...

    cas 官方提供的例子改造

    3. **CAS认证**:学习不同类型的认证机制,如基于用户名/密码的认证、LDAP认证、数据库认证等,并了解如何在CAS中配置这些机制。 4. **CAS客户端集成**:了解如何将应用系统配置为CAS客户端,包括配置服务URL、解析...

Global site tag (gtag.js) - Google Analytics