当前位置: 首页 > 知识库问答 >
问题:

Apache Shiro(授权)SiteMinder(身份验证)

干照
2023-03-14

我有一个已经完成的j2ee(jsf、cdi、jpa)应用程序,它完美地使用了ApacheShiro,它工作得非常好,我喜欢Shiro注释(hasRole、hasPermission等)。

现在,该项目还必须能够通过SiteMinder进行身份验证,我的问题是:

  • 我如何设置一个领域来处理SiteMinder身份验证而不丢失Shiro授权(似乎SiteMinder会在HTTP头中给我用户名和Rolename)
  • 如果我创建一个自定义领域,在会话中执行doGetAuthentiationInfo并记录用户,SiteMinder会话会发生什么?
  • 如果我在Shiro中设置subject.get会话(). setTimeout(1000);,已经定义了超时的SiteMinder会话会发生什么?

我的目的是使用SiteMinder进行身份验证(并控制我的会话),让Shiro进行授权。Shiro无法侵入SiteMinder会话。

共有1个答案

魏楷
2023-03-14

我如何设置一个领域来处理SiteMinder身份验证而不丢失Shiro授权(似乎SiteMinder会在HTTP头中给我用户名和Rolename)

在这种情况下,您需要有两个域—一个处理身份验证,另一个处理授权—请查看此域,了解如何

如果我创建一个自定义域,在会话中执行“DogeAuthenticationInfo”并记录用户,那么SiteMinder会话会发生什么?

你的自定义真实将负责作为SiteMinder的客户端,所以doGetAuthentiationInfo将返回你从SiteMinder得到的任何东西。我不熟悉Siteminder,但你可以检查CAS领域作为一个例子

如果我设置“subject.getSession().setTimeout(1000);”在Shiro中,已经定义了超时的SiteMinder会话会发生什么?

我认为,当您使用sso解决方案时,这里有一个混淆,即会话由sso服务器而不是客户端管理

 类似资料:
  • 我正在尝试编写一些代码来连接到使用Siteminder身份验证的HTTPS站点。 我一直得到401。有什么想法吗? 我在这里读了一些不同的东西,但没有一个看起来真的很有帮助。我也在使用Fiddler/Firefox Tamper来窥探发生了什么。 这是到目前为止我在代码方面得到的信息:

  • OAuth术语已经困扰我很久了。OAuth授权是像一些人建议的那样,还是认证? 如果我错了,请纠正我,但我一直认为授权是允许某人访问某个资源的行为,而OAuth似乎没有任何实际允许用户访问给定资源的实现。OAuth实现所讨论的都是为用户提供一个令牌(签名的,有时是加密的)。然后,每次调用都会将该令牌传递到后端服务endpoint,在后端服务endpoint上检查该令牌的有效性,这也不是OAuth的

  • 我们正在尝试找出IPC身份验证和授权的最佳实践。我会解释的。我们有一个基于微服务的体系结构SaaS和一个专门的认证服务。该服务负责执行身份验证和管理身份验证令牌(JWT)。 现在的问题是如何验证和授权由其他服务发起的请求(没有特定用户的上下文)? 我们是否应该为每个服务生成一个专用用户,并像对待系统中的任何其他用户一样对待它(具有适当的权限)? 我们是否应该在服务之间部署“硬编码”/动态令牌? 还

  • 问题内容: 我一直在努力用Spring-Security 正确实现Stomp(websocket) 身份验证 和 授权 。 为了后代,我将回答我自己的问题以提供指导。 问题 Spring WebSocket文档(用于身份验证)看起来不清楚ATM(IMHO)。而且我不明白如何正确处理 身份验证 和 授权 。 我想要的是 使用登录名/密码对用户进行身份验证。 防止匿名用户通过WebSocket连接。

  • 我一直在努力用Spring-Security正确地实现Stomp(websocket)身份验证和授权。对于后人,我将回答我自己的问题,以提供一个指导。 Spring WebSocket文档(用于身份验证)看起来不清楚ATM(IMHO)。我无法理解如何正确处理身份验证和授权。 null 在HTTP协商endpoint上进行身份验证(因为大多数JavaScript库不会随HTTP协商调用一起发送身份验