实现基于数据库的身份验证

编辑
  • 文档创建者:文档助手1
  • 浏览次数:9088次
  • 编辑次数:11次
  • 最近更新:Kevin-s 于 2019-06-09
  • 1. 添加依赖


    这里以 MySQL 数据库为例。

    拷贝 cas-server-support-jdbc-3.5.2.jar 和 mysql驱动包 到%TOMCAT_HOME%\webapps\cas\WEB-INF\lib目录下;如下图:


    222

    注:如果使用其他数据库,把对应的数据库 JDBC 驱动包放到该目录下。

    2. 创建数据库、表

    表名 userinfo,用户名 username,密码 userpass,如下图:


    222

    3. 配置 CAS 实现基于数据库的身份验证

    3.1 步骤一

    以管理员身份启动文本编辑工具,打开%TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml。找到下面的代码

    <bean id="authenticationManager"
        class="org.jasig.cas.authentication.AuthenticationManagerImpl">

    3.2 步骤二

    在该段代码前面插入 mysql JDBC 数据源配置信息

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName"><value>驱动器</value></property>
        <property name="url"><value>url</value></property>
        <property name="username"><value>数据库用户名</value></property>
        <property name="password"><value>数据库密码</value></property>
        </bean>

    注:上面的驱动器替换为对应数据库的驱动器,如果是 MySQL,则为 com.mysql.jdbc.Driver,URL 为 jdbc:mysql://ip:port/databaseName,同时数据库用户名和密码替换为实际使用的用户名和密码。


    222

    如果使用其他数据库,驱动器及 URL 请参考 JDBC 连接数据库

    3.3 步骤三

    找到如下配置信息:

    <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />

    注:该配置信息使用 SimpleTestUsernamePasswordAuthenticationHandler 验证用户,即默认用户名和密码相同则验证通过,用户名密码不同则登录失败。我们需要将其替换成基于数据库验证的配置信息。

    首先将上面的配置信息注释掉,并在其下面插入如下配置信息:

    <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
                    <property name="dataSource" ref="dataSource" />
                    <property name="sql" value="select userpass from userinfo where username=?" />
                    </bean>

    222

    • QueryDatabaseAuthenticationHandler:是 cas-server-support-jdbc 提供的查询接口其中一个,QueryDatabaseAuthenticationHandler 是通过配置一个 SQL 语句查出密码,与所给密码匹配

    • dataSource:是使用 JDBC 查询时的数据源

    • SQL:语句就是查询哪一张表,本例根据 userinfo 表的 username 字段查询密码,CAS 会匹配用户输入的密码,如果匹配则通过

    3.4 步骤四

    保存对%TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml所做的修改。

    3.5 步骤五

    重新启动 Tomcat 服务。

    4. 测试基于数据库的身份验证

    在浏览器中输入网址https://localhost:8443/cas/login,如果 IE 有证书警告信息,直接点击“继续浏览此网站(不推荐)。

    222

    CAS 会匹配用户输入的用户名密码,和 userinfo 表的用户名密码,如果匹配则通过则系统显示登录成功

    222


    附件列表


    主题: 部署集成
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]