在线报表FineReport中如何应用证书到Web服务器
1、下载CAS服务器
下载CAS的服务端,解压,把解压后的文件中modules文件夹中的cas-server-webapp-3.4.8.war文件拷贝到%TOMCAT_HOME%\webapps下并将文件重命名为cas.war。
2、开放Tomcat的8443端口
打开%TOMCAT_HOME%\conf\server.xml文件,找到8443端口的代码,取消注释,按照下面修改代码:
<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="c:/store/key"
keystorePass="bowie123"/>
注:keystoreFile的值为生成证书的位置,keystorePass的值为设置的密码。
3、效果查看
在浏览器中输入:https://设置的名称与姓氏:8443,出现如下界面

4、打开CAS服务器的页面输入admin/admin点击登录(CAS默认的验证规则只要用户名和密码相同就通过),看到如下界面则说明配置成功:

5、CAS服务器读取数据库配置
下面我们来进一步配置CAS服务器怎么读取数据库的信息进行身份验证,假设已经存在mysql数据库中已经存在userinfo表,其表样如下:

6、打开%TOMCAT_HOME%/webapp/cas/WEB-INF/deployerConfigContext.xml文件,将90行的
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
代码注释掉,并增加如下代码:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource" />
<property name="sql" value="select password from username where username=?" />
</bean>
7、在文件的末尾之前加入如下代码:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<property name="url"><value>jdbc:mysql://localhost:3306/mysql</value></property>
<property name="username"><value>root</value></property>
<property name="password"><value>bowie</value></property>
</bean>
<bean id="serviceRegistryDao" class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />
此时再进行登录的话,就需要输入userinfo表中的用户名和密码了。