Cas(04)——更改认证方式

本文介绍了如何通过修改Cas Server的deployerConfigContext.xml文件,利用Maven War覆盖机制来更改认证方式,特别是从SimpleTestUsernamePasswordAuthenticationHandler切换到基于数据库查询的QueryDatabaseAuthenticationHandler。首先,创建一个名为myCasServer的Maven Web项目,引入cas-server-webapp作为依赖。接着,删除默认内容并添加相关配置,包括数据源、SQL查询语句,以及在部署配置文件中替换AuthenticationHandler。完成这些步骤后,打包生成的war包将使用新定义的数据库认证方式。
摘要由CSDN通过智能技术生成

 

       Cas ServerWEB-INF目录下有一个deployerConfigContext.xml文件,该文件是基于Spring的配置文件,里面存放的内容常常是部署人员需要修改的内容。其中认证方式也是定义在这个文件中的,idauthenticationManagerbeanauthenticationHandlers即定义了需要使用的AuthenticationHandler列表。默认使用了两个AuthenticationHandler,第一个是用来确保当前使用的是https协议的HttpBasedServiceCredentialsAuthenticationHandler,第二个是我们需要改的,其简单认证用户名与密码相等的SimpleTestUsernamePasswordAuthenticationHandler。我们只需要更改这里的SimpleTestUsernamePasswordAuthenticationHandler就行了。Cas中已经为我们提供了不少AuthenticationHandler的实现,包括基于数据库认证的实现,当然用户也可以实现自己的AuthenticationHandler。下面将以使用数据库进行认证为例讲解如何更改认证方式。

       Cas的各个模块都是基于Maven开发的,Cas Server也不例外。所以官方推荐我们使用MavenWar覆盖机制来修改Cas Server的配置文件。MavenWar覆盖机制是指当一个package类型为warMaven项目A中引入了一个package类型为war的项目B作为依赖时,最终项目A打包的war包中不仅会包含项目A的内容,还会包含项目B的内容,且相同位置的文件项目A中的会覆盖项目B中的,即当项目A和项目BWEB-INF下都拥有一个web.xml文件时,最终生成的war包中将使用项目AWEB-INF下的web.xml文件;而当项目AWEB-INF下没有web.xml文件,而项目BWEB-INF下拥有web.xml文件时最终生成的war包中将使用项目BWEB-INF下的web.xml文件。所以如果我们要修改Cas Server的配置文件,我们可以建立一个自己的基于MavenWeb项目,然后引入Cas Server作为依赖,并在自己的项目中建立对应的deployerConfigContext.xml文件。下面来看详细步骤。

 

       1、建立基于MavenWeb项目,取名为myCasServer

       2、打开pom.xml文件,删除默认的依赖项,添加如下内容。

   <build>

      <plugins>

         <plugin>

            <artifactId>maven-war-plugin</artifactId>

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值