Shiro/Stormpath 通过 REST

2024-02-16

我是新来的士郎。我们正在尝试将 Shiro 与 Stormpath 一起使用。我一直在尝试剖析这些例子,以找出我想做的解决方案,但到目前为止我还没有成功。

目前,我只是尝试创建 REST 服务来执行我想要的操作,稍后我将绑定一个真正的客户端。这是我想要实现的第一步:

我想让客户端访问我的服务器上的 REST 端点(登录)。我的服务器将进行身份验证,并将 JWT 返回给客户端。然后,该 JWT 将用于访问我的服务器上的安全端点。 (我编写了可以成功针对 Stormpath 进行身份验证的 Java 代码)。

我的问题是智威汤逊。我期望为我创建一个 JWT,或者至少可以轻松访问。我找不到办法得到一个。我已经看到了如何构建一个示例代码,但这似乎不是我期望获得一个的方式。

我已经运行了几个示例,但大多数似乎都处理 JSP 接口,而且我似乎无法跳跃到我想要做的事情。

这种做法合理吗?任何指导表示赞赏。

Edit 1

我现在有一个 Java 客户端,可以使用 Shiro servlet 进行身份验证并检索 JWT。我将其作为 GlassFish 中的已部署应用程序(war)运行。我的下一步是使用 JWT 进行身份验证不同的具有我的 REST 端点的应用程序。此 REST 应用程序不需要了解有关如何进行身份验证的任何信息 - 我只想在对给定 REST 端点的调用中传递 JWT 并使用 Shiro(通过注释)来控制对端点的访问(如果确实可能) )。我能找到的所有示例似乎都是“一体化”示例(将 JSP 与 Shiro/Stormpath 配置捆绑在一起等)。我正在尝试确定保护 REST 端点的最低工作配置,但很难确定我需要哪些配置。

Edit 2

我使用 Stormpath-Shiro-Servlet(从 Shiro Servlet 示例中窃取)作为我的身份验证后端。使用我的 Java 客户端,我向 servlet 发送登录请求,并且确实返回了 JWT。但是,我无法成功使用 JWT 访问我的其他休息资源。我的其余调用导致此错误:

org.apache.shiro.authz.UnauthenticatedException: This subject is anonymous - it does not have any identifying principals and authorization operations require an identity to check against. A Subject instance will acquire these identifying principals automatically after a successful login is performed be executing org.apache.shiro.subject.Subject.login(AuthenticationToken) or when 'Remember Me' functionality is enabled by the SecurityManager. This exception can also occur when a previously logged-in Subject has logged out which makes it anonymous again. Because an identity is currently not known due to any of these conditions, authorization is denied.

首先,我不明白为什么servlet“登录”实际上没有让我登录并给我非匿名原则?其次,我尝试在单独的客户端上执行所有操作,因此我无法访问Subject.login(这是正确的假设吗?)。


看一眼这个例子 https://github.com/stormpath/stormpath-shiro/tree/ecb2edf45c24fa59a2316fbbdbddd47f46a7c57f/examples/servlet from github/stormpath-shiro https://github.com/stormpath/stormpath-shiro

JWT 创建由 Stormpath API 为您管理。如果您启动其中一个示例(上面的 servlet 或 spring-boot-web 示例),登录后您将拥有一个 JWT cookie。有背景信息这篇博文 https://stormpath.com/blog/token-auth-for-java.

我现在正在努力发布 strompath-shiro,但我想我应该在此处包含这些链接,以便您可以开始查找。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shiro/Stormpath 通过 REST 的相关文章

  • SpringMVC+Apache Shiro+JPA(hibernate)案例教学(一)整合配置

    序 关于标题 说是教学 实在愧不敢当 但苦与本人文笔有限 实在找不到更合理 谦逊的词语表达 只能先这样定义了 其实最真实的想法 只是希望这个关键词能让更多的人浏览到这篇文章 也算是对于自己写文章的一个肯定吧 关于内容 再写这系列文章之前 本
  • ShiroFilter设计原理与实现

    Shiro提供了与Web集成的支持 其通过一个ShiroFilter入口来拦截需要安全控制的URL 然后进行相应的控制 ShiroFilter类似于如Strut2 SpringMVC这种web框架的前端控制器 其是安全控制的入口点 其负责读
  • shiro配置文件shiro.ini简介说明

    转自 shiro配置文件shiro ini简介说明 下文笔者讲述shiro配置文件shiro ini的简介说明 如下所示 shiro ini 是一个shiro的配置文件 它通常放在classpath路径下 shiro ini配置文件包含以下
  • Shiro简单配置Springboot版(3)

    6 整合SpringBoot项目实战 6 0 整合思路 6 1 创建springboot项目 6 2 引入shiro依赖
  • shiro框架---通过系统介绍shiro框架中的实现逻辑

    接上一篇文章关于shiro框架的简单介绍及用户表的建立维护 项目已分享到GitHub上 如果需要的可以看下 springboot shiro项目Git下载地址 本篇主要通过一个已经实现用户登录和权限验证的系统 结合sql 展示一下我的实现
  • Shiro权限框架-限制密码重试次数(8)

    1 实现原理 保证原子性 单系统 AtomicLong计数 集群系统 RedissionClient提供的RAtomicLong计数 1 获取系统中是否已有登录次数缓存 缓存对象结构预期为 用户名 登录次数 2 如果之前没有登录缓存 则创建
  • shiro权限管理

    shiro ssm maven实现的权限管理 里面包含数据库文件 演示地址 登录 后台管理 包含角色管理 管理员可以对每个角色进行菜单分配 菜单管理 可以添加菜单 有子父级 用户管理 操作日志 系统日志 系统监控 在此基础上二次开发简直完美
  • Jeesite开发平台限制用户多点登录

    Jeesite开发平台限制用户多点登录 授权查询回调函数 进行鉴权但缓存中无用户的授权信息时调用 Override protected AuthorizationInfo doGetAuthorizationInfo PrincipalCo
  • shiro实现基于redis的sessionDao

    shiro实现基于redis的sessionDao 将session持久化到数据库的一个关键步骤是对session对象的序列化和反序列化操作 另外在使用redis保存session时一定要设置过期时间 或在编码中检查过期并及时删除缓存 否则
  • Shiro错误之No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util

    提示 No SecurityManager accessible to the calling code either bound to the org apache shiro util ThreadContext or as a vm
  • Shiro总结和常见面试题

    Shiro总结和常见面试题 一 什么是shiro Shiro是一个强大易用的java安全框架 提供了认证 授权 加密 会话管理 与web集成 缓存等功能 对于任何一个应用程序 都可以提供全面的安全服务 相比其他安全框架 shiro要简单的多
  • 【shiro】shiro反序列化漏洞综合利用工具v2.2(下载、安装、使用)

    目录 1 工具下载 2 依赖环境安装 3 使用 1 工具下载 shiro反序列化漏洞综合利用工具v2 2下载 链接 https pan baidu com s 1kvQEMrMP PZ4K1eGwAP0 Q pwd zbgp 提取码 zbg
  • Shiro JndiLdapRealm 针对 LDAP 的授权

    The Shiro 类 JndiLdapRealm 的 JavaDoc明确表示默认情况下禁用授权 并且用户应通过子类化和覆盖 LDAP 服务器来实现授权JndiLdapRealm doGetAuthorizationInfo方法 是否有示例
  • Apache Shiro JdbcRealm 与 JavaConfig 和 Spring Boot

    我正在尝试配置我的 Spring Boot 应用程序以使用 Apache Shiro 作为其安全框架 我已经完成了与 PropertiesRealm 一起使用的所有操作 现在我正在尝试使其与 JdbcRealm 和 Spring Boot
  • 如何使用 Postman 通过 HTTP Basic 调用服务?

    我正在使用curl来发出请求 curl u NL91IOC2RWCM31G1ESWYX SvCuj0tFQjmclZDFQzdMqfrGZ5Qw5jfKM8 H Accept application json https api storm
  • Java – 高效、数据库感知的实例级授权?

    在 JPA 应用程序中 我有一个场景 其中该应用程序是 列出给定用户有权提款的所有帐户 我有帐户实体和一个多对多表 其中列出了每个用户对每个帐户拥有的授权 为了实现上述场景 应用程序当前只是内部联接两个表 这非常快 现在 我计划添加一个显式
  • 使用 ini 文件进行 Spring MVC 和 Shiro 配置

    我正在尝试使用 Spring MVC 和 Apache Shiro 建立一个环境 我正在关注 shiro apache org 中提到的文章 我在 web xml 中使用 Spring 的 DelegatingFilterProxy 作为
  • Shiro/Stormpath 通过 REST

    我是新来的士郎 我们正在尝试将 Shiro 与 Stormpath 一起使用 我一直在尝试剖析这些例子 以找出我想做的解决方案 但到目前为止我还没有成功 目前 我只是尝试创建 REST 服务来执行我想要的操作 稍后我将绑定一个真正的客户端
  • 如何将已通过身份验证的用户从登录页面重定向到主页

    我正在使用 Apache Shiro 开发 JSF 应用程序 我使用 Shiro 验证用户并将她重定向到主页 这没有问题 身份验证后 当我尝试访问登录页面时 它不会将我重定向到主页 即使已经有登录的用户 我也可以再次登录 我正在做程序化登录
  • Jetty maven插件无法热重新部署shiro过滤器

    我不确定这是jetty的问题还是shiro的问题 但我正在尝试使用Jetty Maven插件进行开发 我想要的关键功能之一是Jetty在文件更改时的热重新部署 然而 当 jetty 尝试重新加载应用程序时 Shiro 抛出以下异常 我不确定

随机推荐

  • 从 jquery mobile 中的 URL 获取参数值

    我有一个名为 servicesDetails html 的页面 其中包含链接 网址如下所示 Myapp servicesDetails html servicetype Advanced serviceid 1208 单击链接时会加载一个名
  • 动态过滤rxjs流

    我正在使用 RXJS 并且希望动态过滤数据 但遇到问题 let numberSource ReplaySubject
  • 获取 ORA-01031:查询表而不是查询时权限不足 ORA-00942:表或视图不存在

    当我从模式 A 查询模式 C 中的表时 我得到ORA 01031 权限不足当我从模式 B 查询同一个表时 我得到ORA 00942 表或视图不存在 在表上 两个模式都没有任何权限 为什么在这种情况下我会收到不同的错误消息 你可能会得到ORA
  • 为什么 javascript contains 属性在 Chrome 浏览器中不起作用?

    为什么 javascript contains 属性在 Chrome 浏览器中不起作用 我已经尝试过在 javascript 中包含属性 它在 Mozila Firefox 浏览器中工作正常 但它在 Chrome 浏览器中不起作用 如何解决
  • 为什么 crypt() 会产生不同的结果?

    Crypt 使用相同的输入数据生成不同的哈希值 并且 以下 以前起作用的哈希生成器 检查不再用于验证用户 public static function blowfish password storedpass false if encryp
  • 导航回 FragmentPagerAdapter,listFragment 为空

    重新加载片段后 我在 FragmentPageAdapter 上看不到 ListFrangment 我有一个带有 3 个选项的滑动菜单 当我单击一个选项时 片段会更改为 FragmentPageAdapter 并在选项卡中加载 ListFr
  • 如何导入 2.2.5 版本的 Airflow 运算符?

    我刚刚将 Airflow 升级到 2 2 5 但无法使用 EmptyOperator 应该很简单from airflow operators empty import EmptyOperator但我得到了错误ModuleNotFoundEr
  • 可以在有时间限制的情况下运行

    试图构建一个Runnable that must在给定的期限内结束 目前我正在使用java util Timer打断Runnable thread Timer之后开始Runnable starts import java util Time
  • 如何解决转换问题 java.lang.ClassCastException: $Proxy 无法转换为 NotEmpty 这是注释

    我有一个与spring集成的REST服务项目 我正在尝试集成 bean 验证 我做了一个自定义注释 Denotes a field as being no empty author pguzun Target METHOD FIELD AN
  • 网页上的 Apple 登录设置

    我们在网页上实施苹果登录时遇到了问题 苹果最近更改了 第三方登录服务 的使用指南 由于我们的应用程序使用 facebook 和 google 登录服务 因此我们无法在 Apple store 上更新 Apple 应用程序 因为我们不提供使用
  • 软件渲染不支持 Oreo 中的硬件位图

    LinearLayout llQRCodeShare try llQRCodeShare setDrawingCacheEnabled true llQRCodeShare buildDrawingCache true Bitmap b l
  • 如何使 haml 中的文本和变量出现在同一行?

    我有这段代码 我希望它在同一行上读作 Volunteers Needed 10 event numberofvolunteers value 我怎样才能在不使用CSS的情况下做到这一点 我还没有找到解决这个问题的具体帖子 td Volunt
  • 计算球体的顶点法线

    我想知道如何获取存储在缓冲区中的每个球体的顶点 并分别计算每个球体的法线 可以在 OpenGL 中实现吗 OpenGL 通常用于渲染网格 而不是计算它们 法线是网格数据的一部分 提供法线通常是网格体构建者的责任 对于球体来说 法线的计算非常
  • vswprintf 在 Mac OS X 下对于某些 unicode 代码点失败

    我收到莫名其妙的失败 返回值 1 vswprintf使用GCC和Mac OS X 在Mac OS X 10 6和10 8下使用gcc 4 0和4 2 1进行测试 Linux下的GCC是not做作的 Visual Studio 也是not做作
  • 在彩色背景中渲染透明文本

    假设我有两个 UIView View1 边界 0 0 20 20 背景颜色 一些带有渐变或其他内容的复杂背景 View2 帧 0 0 20 20 背景颜色 蓝色 是 View1 的子视图并完全覆盖它 接下来 我想在 View2 上绘制一些文
  • 如何并行处理MSMQ消息

    我正在编写一个 Windows 服务来使用 MSMQ 消息 该服务将存在高活动期 80k 消息快速传入 和长时间不活动期 可能数天没有新消息 处理消息非常受网络限制 因此我从并行性中获得了很大的好处 但在不活动期间 我不想占用一堆线程来等待
  • REST API,具有从服务器到客户端的主动推送通知

    问题描述 我正在开发一个 Xamarin 应用程序 该应用程序使用用 Python Flask 编写的 REST API Xamarin 应用程序提供虚拟购物清单 用户可以在其中协作购买共享清单上的商品 为了改善用户体验 我希望能够主动通知
  • FolderClosedException:* BYE JavaMail 异常:java.io.IOException:连接被服务器删除?

    我正在使用 javamail 1 5 5 我想监听 GMail 邮箱中的新邮件 我有一个 MessageCountListener 的实现 在它的 messagesAdded 方法上 最后我这样做 try process new messa
  • 适用于 Android 的滑动切换

    任何人都知道 Android 的滑动切换的任何开源实现 默认的 android 切换 切换按钮 http developer android com reference android widget ToggleButton html 不漂
  • Shiro/Stormpath 通过 REST

    我是新来的士郎 我们正在尝试将 Shiro 与 Stormpath 一起使用 我一直在尝试剖析这些例子 以找出我想做的解决方案 但到目前为止我还没有成功 目前 我只是尝试创建 REST 服务来执行我想要的操作 稍后我将绑定一个真正的客户端