包含原理配置实现及简易demo CAS4.1单点登录实现( 五 )


接着 , 编写yml配置文件:
server:port: 9797cas:# 认证中心登录页面地址server-url-prefix: http://127.0.0.1:9527/cas/login# 应用地址 , 也就是自己的系统地址 。client-host-url: http://127.0.0.1:9797# 认证中心地址authentication-url: http://127.0.0.1:9527/cas# 动态开启 cas 单点登录loginType: cas# cas 验票拦截路径urlPattern: /*
最后编写测试接口层:
import org.jasig.cas.client.authentication.AttributePrincipal;import org.jasig.cas.client.util.AbstractCasFilter;import org.jasig.cas.client.validation.Assertion;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;/*** Author Haozhonghao* Date 2022/1/10 10:45* Version 1.0*/@RequestMapping("/casTest5")@Controllerpublic class CASDemoController {/*** cas 单点登录*/@Value(value = "http://www.kingceram.com/post/${cas.server-url-prefix}")private String serverUrlPrefix = "";@Value(value = "http://www.kingceram.com/post/${cas.client-host-url}")private String clientHostUrl = "";@GetMapping("/user5")@ResponseBodypublic String user(HttpServletRequest request) {Assertion assertion = (Assertion) request.getSession().getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION);String loginName = null;if (assertion != null) {AttributePrincipal principal = assertion.getPrincipal();loginName = principal.getName();System.out.println("访问者5:" + loginName);}return "访问者5:" + loginName;}@GetMapping("/logout")public String logout(HttpSession session) {//将session设置为失效session.invalidate();return "redirect:" + serverUrlPrefix + "/logout?service=" + clientHostUrl + "/casTest5/user5";}}
进行测试 , cas--core3.5.0版本比较稳定 , 可以兼容多个版本的 CAS  , 包括前文我们在本地构建的cas--4.1.0 。
登录 , 输入admin/ , 登录效果如图 , 实现完成 。
【包含原理配置实现及简易demoCAS4.1单点登录实现】cas客户端demo至此功能已全部实现 。