gpt4 book ai didi

java - Apache shiro - 如何使用单独的数据库表支持多种用户类型

转载 作者:行者123 更新时间:2023-12-01 11:37:19 24 4
gpt4 key购买 nike

我正在使用 Java/Spring/Apache Shiro 开发一个 Web 项目,3个单独的数据库表中有3种不同的用户类型,2种用户类型从网页登录,1种用户类型从移动设备登录。

我已经实现了一个Realm,它扩展了AuthorizingRealm,但我似乎很难提供一个Restful API来让3种用户类型登录。

我目前的想法是:

定义一个新的token类,扩展UsernamePasswordToken,并添加一个新字段accountType,当用户登录时首先检查帐户类型参数,然后决定查询哪个表,以及使用 accountTypeusername 的组合作为 Principal

我的问题是:

  1. 上述想法可行吗?或者我应该如何改进?
  2. 我应该如何为3个不同的用户定义loginUrl,特别是对于移动客户端,它应该是一个json结果而不是url,对吗?

最佳答案

我已经很好地解决了这个问题。

这是我所做的:

  • 实现UsernamePasswordToken,并添加 accountType 字段。
  • 使用 accountType:username 作为主体。需要重写相关方法。
  • 登录时,用户需要提供accountType参数。
  • 查询db时,根据accountType,查询不同的表。

关于java - Apache shiro - 如何使用单独的数据库表支持多种用户类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29838681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com