先说下问题,cas单点登录地址会带入service参数,这个参数可能会被有心人利用修改浏览器地址栏带入自己的重定向地址,例如:
http://localhost:6212/cas/login?service=http://www.a.com
那么可能正常获取票据后就带到a了,当然有心人会伪造“类同源域名”
这个时候需要将自己需要的重定向地址硬编码到程序中。
源码发现这个参数service并不是单纯的String 而是一个
public interface Service extends Principal {
void setPrincipal(Principal principal);
boolean logOutOfService(String sessionIdentifier);<