- 浏览: 979986 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1441)
- 软件思想&演讲 (9)
- 行业常识 (250)
- 时时疑问 (5)
- java/guava/python/php/ruby/R/scala/groovy (213)
- struct/spring/springmvc (37)
- mybatis/hibernate/JPA (10)
- mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila (268)
- js/jquery/jqueryUi/jqueryEaseyUI/extjs/angulrJs/react/es6/grunt/zepto/raphael (81)
- ZMQ/RabbitMQ/ActiveMQ/JMS/kafka (17)
- lucene/solr/nuth/elasticsearch/MG4J (167)
- html/css/ionic/nodejs/bootstrap (19)
- Linux/shell/centos (56)
- cvs/svn/git/sourceTree/gradle/ant/maven/mantis/docker/Kubernetes (26)
- sonatype nexus (1)
- tomcat/jetty/netty/jboss (9)
- 工具 (17)
- ETL/SPASS/MATLAB/RapidMiner/weka/kettle/DataX/Kylin (11)
- hadoop/spark/Hbase/Hive/pig/Zookeeper/HAWQ/cloudera/Impala/Oozie (190)
- ios/swift/android (9)
- 机器学习&算法&大数据 (18)
- Mesos是Apache下的开源分布式资源管理框架 (1)
- echarts/d3/highCharts/tableau (1)
- 行业技能图谱 (1)
- 大数据可视化 (2)
- tornado/ansible/twisted (2)
- Nagios/Cacti/Zabbix (0)
- eclipse/intellijIDEA/webstorm (5)
- cvs/svn/git/sourceTree/gradle/jira/bitbucket (4)
- jsp/jsf/flex/ZKoss (0)
- 测试技术 (2)
- splunk/flunm (2)
- 高并发/大数据量 (1)
- freemarker/vector/thymeleaf (1)
- docker/Kubernetes (2)
- dubbo/ESB/dubboX/wso2 (2)
最新评论
一、cas服务端的搭建
1、工具包下载
cas服务端:cas-server-3.3.3-release.zip 下载地址:http://downloads.jasig.org/cas/cas-server-3.3.3-release.zip
cas客户端:cas-client-3.1.8-release.zip 下载地址:http://downloads.jasig.org/cas-clients/cas-client-3.1.8-release.zip
cas java客户端:cas-client-2.0.11.zip 下载地址:http://downloads.jasig.org/cas-clients/cas-client-2.0.11.zip
2.、基本搭建。
将cas服务端zip压缩包解压,在 modules文件夹下找到 cas-server-webapp-3.3.3.war 放到一个tomcat下,启动tomcat,将自动解压缩war包,将项目文件夹名改为cas。
去掉https验证(先暂时去掉)
打开 cas/WEB-INF/deployerConfigContext.xml,
找到<bean class="org.jasig.cas.authentication.handler.support.
HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" />,
将其更改为: <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"p:requireSecure="false" />
打开cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml,将p:cookieSecure="true"改为p:cookieSecure="false"。
打开cas/WEB-INF/spring-configuration/warnCookieGenerator.xml,将p:cookieSecure="true"改为p:cookieSecure="false"。
访问该项目可以看到如下内容。
使用admin和admin登录即可。登录后可以看到如下界面。
通过上述操作服务端搭建完了。但是我们在真正的项目中肯定是要登录到数据库中去验证用户名和密码的。
4、使用数据库来验证用户登录
下面就介绍下如何使cas查询数据库中的用户名和密码。(PS:这里有个限定,那就是需要所有的web应用都使用同一个库和密码加密方式。 例如MD5。当然,在项目中也理所应当这么做。)
首先需要导入一些jar包。
导入相关jar包。截图如下:
打开cas服务端:cas/WEB-INF/ deployerConfigContext.xml,大约100多行找到如下代码:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注释掉这行代码,添加如下代码
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default" dependency-check="default">
<property name="dataSource" ref="casDataSource" /> <!--数据源-->
<property name="tableUsers" value="TB_USER" /> <!--表-->
<property name="fieldUser" value="UserName"/> <!--用户名-->
<property name="fieldPassword" value="Password"/> <!--密码-->
<property name="passwordEncoder" ref="passwordEncoder"/><!--加密方式-->
</bean>
这里我使用的是让cas指定需要验证的表和字段,另外指定了加密方式,可以看到我们还需要两个bean属性,数据源和加密方式。
在外层加入bean:
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="url" value="jdbc:sqlserver://192.168.1.14:1433;DatabaseName=NFS_IOT_DESKTOP"></property>
<property name="username" value="sa" />
<property name="password" value="123" />
</bean>
<!--加密方式,也可以指定自己的加密类-->
<bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">
<constructor-arg value="MD5"/><!--使用MD5加密-->
</bean>
之后重启tomcat,可以验证自己是否成功。
这样cas服务端的数据层就完全配置完毕了。当然我们还需要自定义验证登录的界面,这里就说下如何指定前台登录的jsp就可以了。
在服务端的classes文件夹下,有很多配置文件,其中 default_views.properties就是指定页面用的。可以根据其中的注释指定自己的jsp页面。
1、工具包下载
cas服务端:cas-server-3.3.3-release.zip 下载地址:http://downloads.jasig.org/cas/cas-server-3.3.3-release.zip
cas客户端:cas-client-3.1.8-release.zip 下载地址:http://downloads.jasig.org/cas-clients/cas-client-3.1.8-release.zip
cas java客户端:cas-client-2.0.11.zip 下载地址:http://downloads.jasig.org/cas-clients/cas-client-2.0.11.zip
2.、基本搭建。
将cas服务端zip压缩包解压,在 modules文件夹下找到 cas-server-webapp-3.3.3.war 放到一个tomcat下,启动tomcat,将自动解压缩war包,将项目文件夹名改为cas。
去掉https验证(先暂时去掉)
打开 cas/WEB-INF/deployerConfigContext.xml,
找到<bean class="org.jasig.cas.authentication.handler.support.
HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient" />,
将其更改为: <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"p:requireSecure="false" />
打开cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml,将p:cookieSecure="true"改为p:cookieSecure="false"。
打开cas/WEB-INF/spring-configuration/warnCookieGenerator.xml,将p:cookieSecure="true"改为p:cookieSecure="false"。
访问该项目可以看到如下内容。
使用admin和admin登录即可。登录后可以看到如下界面。
通过上述操作服务端搭建完了。但是我们在真正的项目中肯定是要登录到数据库中去验证用户名和密码的。
4、使用数据库来验证用户登录
下面就介绍下如何使cas查询数据库中的用户名和密码。(PS:这里有个限定,那就是需要所有的web应用都使用同一个库和密码加密方式。 例如MD5。当然,在项目中也理所应当这么做。)
首先需要导入一些jar包。
导入相关jar包。截图如下:
打开cas服务端:cas/WEB-INF/ deployerConfigContext.xml,大约100多行找到如下代码:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注释掉这行代码,添加如下代码
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default" dependency-check="default">
<property name="dataSource" ref="casDataSource" /> <!--数据源-->
<property name="tableUsers" value="TB_USER" /> <!--表-->
<property name="fieldUser" value="UserName"/> <!--用户名-->
<property name="fieldPassword" value="Password"/> <!--密码-->
<property name="passwordEncoder" ref="passwordEncoder"/><!--加密方式-->
</bean>
这里我使用的是让cas指定需要验证的表和字段,另外指定了加密方式,可以看到我们还需要两个bean属性,数据源和加密方式。
在外层加入bean:
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="url" value="jdbc:sqlserver://192.168.1.14:1433;DatabaseName=NFS_IOT_DESKTOP"></property>
<property name="username" value="sa" />
<property name="password" value="123" />
</bean>
<!--加密方式,也可以指定自己的加密类-->
<bean id="passwordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">
<constructor-arg value="MD5"/><!--使用MD5加密-->
</bean>
之后重启tomcat,可以验证自己是否成功。
这样cas服务端的数据层就完全配置完毕了。当然我们还需要自定义验证登录的界面,这里就说下如何指定前台登录的jsp就可以了。
在服务端的classes文件夹下,有很多配置文件,其中 default_views.properties就是指定页面用的。可以根据其中的注释指定自己的jsp页面。
发表评论
-
20180222积累
2018-02-22 09:34 4201. mybatis如何通过接口查找对应的mapper. ... -
20180208积累
2018-02-08 10:28 399临时表与永久表相似,但临时表存储在 tempdb 中,当不 ... -
行业应用
2018-01-30 16:30 429git clone的时候用上面那个IP地址,下面栏中的不能 ... -
SQLite 数据库
2018-01-29 22:57 710android: SQLite创建数据 ... -
java里面获取map的key和value的方法
2018-02-01 11:29 2053获取map的key和value的方法分为两种形式: ma ... -
Eclipse中Maven WEB工程tomcat项目添加调试以及项目发布细节记录
2018-02-23 21:11 662一、建立一个maven WEB项目 1、file-&g ... -
错误:HttpServlet was not found on the Java
2018-02-23 21:12 327我们在用Eclipse进行Java web ... -
使用 java8 实现List到Array的转换
2018-02-23 21:13 2849开发中需要调用第三方的库,有些 API 的入参要求是 do ... -
Java8 利用Lambda处理List集合
2018-01-11 09:58 5555Java 8新增的Lambda表达式,我们可以很方便地并行操 ... -
java中string与json互相转化
2018-01-11 09:40 1016在Java中socket传输数据时,数据类型往往比较难选择。 ... -
JSON 数据格式
2018-01-11 09:37 408JSON(JavaScript Object Notatio ... -
java怎么读取json格式的数据
2018-01-11 09:46 1012java可以使用JSONObject和JSONArray来操作 ... -
Java8-如何将List转变为逗号分隔的字符串
2018-01-10 10:13 1909Converting a List to a String ... -
eclipse maven 打war包的两种方式
2018-02-23 21:25 642第一种:利用pom.xml文件打包。 右键pom.xml ... -
Annotation(三)——Spring注解开发
2018-02-28 09:21 374Spring框架的核心功能IoC(Inversion o ... -
Spring自定义注解
2018-02-28 09:32 514java注解:附在代码中的一些元信息,用于在编译、运行时起 ... -
Java项目
2018-01-08 10:56 0这两种解决办法已经能完全解决问题,不过值得注意的一点是,我 ... -
解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
2018-03-22 10:41 1085在Eclipse中建立好一个Maven项目后,如果Java ... -
Java @override报错的解决方法
2018-01-07 12:56 0有时候Java的Eclipse工程换一台电脑后编译总是@ove ... -
Java 8 配置Maven-javadoc-plugin
2018-01-07 09:07 970在升级JDK至1.8之后,使用Maven-javadoc- ...
相关推荐
cas单点才登出原理cas单点才登出原理
CSA_CCM(CSA云控制矩阵)CSA_CCM(CSA云控制矩阵)CSA_CCM(CSA云控制矩阵)CSA_CCM(CSA云控制矩阵)CSA_CCM(CSA云控制矩阵)CSA_CCM(CSA云控制矩阵)
描述了CSA加法器的原理,主要用于FPGA硬件加速,有很好的效果。
CSA CSA ANSI HGV 4.4-2021 Gaseous hydrogen Fuelling stations Valves( ISO 19880-3-2018,MOD).pdf
CSA觸控方式 原理 CSA觸控方式 原理
CSA认证介绍 CSA是加拿大标准协会.zip
CSA is an abbreviation for "Common Scrambling Algorithm", which is employed in almost every scrambled digital-tv-channels so far. Those MPEG-streams are encrypted with this algo, which needs an 8 byte...
CSA ANSI Z21.58-2018 CSA 1.6-2018.最新原版 室外燃气灶具标准
CSA22.1-Canadian Electrical Code PART 1
云安全联盟(CSA)发布的 企业大数据安全架构建议,从应用安全,基础设施安全,安全监管等多方面给出建议.
详细讲述了csa数据库的使用方法,懂得学习的人一定知道数据库的好处,它会帮助你更快的学习。
CSA-ATV11pdf,CSA-ATV11
CSA STAR PROGRAM
本代码详细的阐述了CSA算法的编写过程 具体参数参考合成孔径雷达成像-算法与实现
云安全的国际标准,目前正在草稿中,从不同的层面和不同的标准一一对应,非常好。
在CSA基礎上發展起來的一個非營利的國際性第三方性質認證測試組織,總部在加拿大的多倫多.
opencore ,csa 的vhdl硬件源代码,
CSA大数据安全和隐私手册中文版 CSA云安全指南V4.0中文版 云计算关键领域安全指南_V3.0 CSA云计算安全技术要求 总则 CSA云计算安全技术要求 IaaS安全技术要求 CSA云计算安全技术要求 SaaS安全技术要求 CSA云计算安全...
CSA 1directional for motion estimation
本代码详细的阐述了CSA算法的编写过程 具体参数参考合成孔径雷达成像-算法与实现