spring security 帮我们完成了j2ee应用的认证与授权管理,它提供的功能是相当丰富的,并且是不依赖于应用服务器的。
cas的功能就是进行用户认证。
如果spring security与cas集成,就相当于spring security自身的认证功能转移到cas框架上,然后spring security进行认证之后的授权。
所谓认证,就是当用户试图进入系统,而系统发现用户没有登陆,就调转到登陆页面,然后用户输入用户名,密码,点击登陆按钮,系统进行用户名,密码的校验过程,称之为认证。
所谓授权,指的是系统对用户名,密码进行认证通过,然后对该用户赋权限,即该用户能够访问这个系统的哪些功能(即该用户能够访问这个系统的哪些url地址及按钮)。
总而言之,
当用户没有登录时,在请求/minicart/*.do时会被拦截,然后赋予anonymousUser...
当是anonymousUser时,通过cartList_cookie取购物车,这个跟跨域没关系;
当用户登录后需要读取用户名时,也要经过spring-security.xml文件
所以最后的解决办法是:让经过search的controller时赋予anonymousUser,登录后就是正式的user
cas的几个检查点:
2019-07-19 18:28:48,444 WARN [org.jasig.cas.util.SimpleHttpClient] - <Error Sending message to url endpoint [http://search.samemart.com/login/cas]. Error is [Server returned HTTP response code: 500 for URL: http://search.samemart.com/login/cas]>
这个可能是search本身项目出错了
1)