Java 使用ApacheShiro在Webapp和RESTAPI之间实现SSO
我试图在webapp和restapi之间设置SSO,为此我使用apacheshiro+Jasig CAS,但现在我遇到了一个与restapi的身份验证相关的问题。 我在Webapp中使用CASRealm+CASFilter并尝试使用在那里创建的会话访问REST API,我尝试了两种方法:Java 使用ApacheShiro在Webapp和RESTAPI之间实现SSO,java,rest,single-sign-on,cas,shiro,Java,Rest,Single Sign On,Cas,Shiro,我试图在webapp和restapi之间设置SSO,为此我使用apacheshiro+Jasig CAS,但现在我遇到了一个与restapi的身份验证相关的问题。 我在Webapp中使用CASRealm+CASFilter并尝试使用在那里创建的会话访问REST API,我尝试了两种方法: 通过请求头将CAS服务票证从webapp传播到REST API(不起作用,它说服务票证无效,因为它属于另一个应用,TGT可能会起作用) 将用户名和密码存储在webapp中,并在http基本身份验证中使用它们(这
如果您不理解我的问题(或我的英语),请提问。看起来您想使用第一个CAS服务作为REST API的代理:您可以使用CAS代理机制:
https://wiki.jasig.org/display/CAS/Proxy+CAS+演练
。尽管Shiro CAS模块中没有代理支持,但您应该使用buji-pac4j扩展,下面是关于这个主题的一个很好的讨论:http://shiro-user.582556.n2.nabble.com/Shiro-cas-proxying-td7579694.html
您可以在CAS上启用OAuth2.0配置,然后使用OAuth2.0保护REST服务。例如,您可以使用oauth的rest服务进行用户身份验证。这里有一些有用的链接
我将尝试您的建议,稍后再给您反馈。您提交的补丁是否已经包含在buji-pac4j版本1.2.1中?您好,很抱歉久违。您的回答确实很有帮助,但现在我在代理应用程序中获取代理票证时遇到了一个问题。我得到以下日志
INFO[org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl]
和casProxyProfile.getProxyTicketFor(serviceName)
返回空值。有什么想法吗?很难说,你介意在Shiro邮件列表上展开讨论吗?我反对以下讨论[]