Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

对于前后端分离的项目如何集成cas #57

Open
kinggggg opened this issue Mar 14, 2018 · 6 comments
Open

对于前后端分离的项目如何集成cas #57

kinggggg opened this issue Mar 14, 2018 · 6 comments

Comments

@kinggggg
Copy link

kinggggg commented Mar 14, 2018

关于问题报告
对于目前前后端的项目,如果直接把cas 官方提供的连接器配置在后端的话,发现有非常大的局限性,比如跳转,比如验证ST

提出问题

对于前后端分离的项目如何集成cas

需求

公司目前前端采用vue+node,后端采用springmvc的方式;如果直接在springmvc中配置cas官方提供的java拦截器话,对于跳转不能很好的适用目前的业务状态;cas 官方提供了rest接口认证的方式[https://apereo.github.io/cas/development/protocol/REST-Protocol.html],能否通过这个rest接口方式将cas进行集成

@kawhii
Copy link
Owner

kawhii commented Mar 14, 2018

会安排时间出个例子,敬请期待

@LingzZhiyi
Copy link

我已经被前后分离 搞疯了。。

@BigbigY
Copy link

BigbigY commented Apr 15, 2019

@kawhii 现在有例子了吗,前后端分离搞的有点懵逼

@LingzZhiyi
Copy link

@kawhii 现在有例子了吗,前后端分离搞的有点懵逼

https://blog.csdn.net/qq_37256345/article/details/88840061 我这边有个曲线方案。目前我只能这样解决

@JamesMackerel
Copy link

cas 官方提供了rest接口认证的方式[https://apereo.github.io/cas/development/protocol/REST-Protocol.html],能否通过这个rest接口方式将cas进行集成

这个接口的作用不大,因为它实际上是提供给像是 Android APP 之类的那种端上应用使用的。首先,这样的应用场景不像浏览器,没有跨域的限制,所以可以不用在 CAS 服务器上配置 CORS 头就能访问得到。第二,根据官方文档,这个接口的使用场景是调用方将用户的凭据发送到 CAS 服务器,以获取一个 TGT ,并且建议这个 TGT 是针对服务做过限制的,只能给某个服务发方 ST。

综上所述, rest 接口不适用于现代前端场景下的 SPA。

@xietongjian
Copy link

需要重写cas的AbstractCasFilter过滤器,把重定向的功能去掉。可以返回一个http状态码。然后前端根据这个状态码进行跳转。如果未登录则前端跳转到cas的登录页面。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants