大浪淘沙,沉者为金
Cas-Server官网:
https://github.com/apereo/cas
进入官网,可以看到版本有很多,主要区别为:
3.x:web版本
4.x:maven版本
5.x:gradle版本
一般4.x用的比较多。

高版本:
自己打包的话,命令为:

弱水三千,只取一瓢
下载好后,打开发现文件非常多。
都不要去看,直接找到module目录下的cas-server-webapp-4.0.0.war。
将war包放到一个干净的Tomcat中(以后出错,可以排除tomcat本身问题报错)。
Tomcat官网:
https://tomcat.apache.org/




最常用的三个配置文件
deployerConfigContext.xml
1、文件里有内置用户casuser/Mellon,搜索Bean:primaryAuthenticationHandler,即可找到。不使用自己的数据库,直接登录。
cas.properties
1、ticket命名。
2、数据源。
web.xml
1、开启restful接口。
·························································································
最常用的三个JSP页面
最常修改的三个JSP页面,登录界面,登录成功界面,退出界面。
说的牛逼一点,就是自定义认证界面,自定义注销界面。
casLoginView.jsp
路径:casWEB-INFviewjspdefault䗊sLoginView.jsp
Cas认证登录界面。修改登录界面就是修改这个文件。
casGenericSuccess.jsp
路径:casWEB-INFviewjspdefault䗊sGenericSuccess.jsp
路径根据版本不同,是不一样的,但是文件名称是一样的。
用户认证通过进入的页面。
casLogoutView.jsp
路径:casWEB-INFviewjspdefault䗊sLogoutView.jsp
退出Cas-Server时,进入的页面。
1、修改Bean,primaryAuthenticationHandler。
原先这个是内置用户,将它替换为下边。
2、增加Bean,passwordEncoder与dataSource。
3、加入jar包。

看下边四个链接,都是https开头的。
https://blog.csdn.net/
https://account.aliyun.com/
https://www.jd.com/
https://www.taobao.com/
厉害一点的网站都是https,注重保密。
我们不厉害,所以我们关掉它,不使用HTTPS协议。
1、deployerConfigContext.xml文件,修改为false。
2、deployerConfigContext.xml文件,p:serviceId增加http(不加不会报错,6.x版本要求加上)。
3、ticketGrantingTicketCookieGenerator.xml文件,修改为false。
4、warnCookieGenerator.xml文件,修改为false。
Cas认证支持很多种协议去认证,比如OAuth、SAML1、SAML2等协议,最常用的为REST协议获取TGT,TGT产生ST,通过ST与TGC去访问服务端验证。所以我们要给cas-server开启restful接口。
1、加入jar包。
看你是什么项目。
maven项目引入依赖:
web项目找jar包的方法:
https://blog.csdn.net/numbbe/article/details/

2、配置web.xml
不加入这段配置,访问会报404错误。

3、测试Ticket机制。
直接使用浏览器访问:http://localhost:8080/cas/v1/tickets。
出现Method Not Allowed,你就成功的开启了Restful接口。
相反,如果你一直显示认证界面或者登陆成功界面,你就是没有开启,前两步操作有误。
具体情况可以参考:
https://blog.csdn.net/numbbe/article/details/
另外Ticket机制,参考这篇文章:
https://blog.csdn.net/numbbe/article/details/

1、获取TGT。

2、获取ST。

3、验证ST。

当我们正常访问cas-server时,经常看到一个警告。
翻译一下就是:让你使用HTTPS协议进行单点登录。



治标
当然,这是治标不治本。

治本
既然Cas让我们使用HTTPS,那我们使用HTTPS好了。
首先,知道两个问题。
证书是单点登录认证系统中很重要的一把钥匙,证书能极大的提高客户端与服务器的交互安全。在这里使用keytool工具生成证书,JDK自带工具。
1、修改本地域名,进入C:WindowsSystem32driversetc,修改hosts文件。
2、服务端证书,进入你的cas-server的Tomcat目录中,cmd依次执行命令。
最终会生成三个文件,如图:




3、客户端证书,进入你的环境变量的JDK目录jdk/jre/lib/security目录(cacerts文件)

4、配置cas-server的server.xml文件,把之前的8080端口删掉,加上下边这段,开启HTTPS访问。
其中keystoreFile为你的证书地址,keystorePass你的证书密码。
5、配置cas-server,打开HTTPS协议,上边有关闭HTTPS协议的步骤,这边就反着来就行了。
之后通过https协议访问,就可以看到没有了warning,不会再说不安全了。

Tips:
有时候,你会碰到这样的情况,总是报不安全之类的,点击高级然后点进去就行了。

取消方法为:

版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/5061.html