首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >让Tomcat JDBCRealm为返回的用户名使用不同的列

让Tomcat JDBCRealm为返回的用户名使用不同的列
EN

Stack Overflow用户
提问于 2017-08-24 09:15:52
回答 1查看 37关注 0票数 0

是否可以让Tomcat与JDBC领域表单身份验证一起返回一个不同的用户表列,作为“用户名”,而不是在登录时提供的用户名?

用例:在我的应用程序中,我使用servletRequest.getUserPrincipal()并将其转换为org.apache.catalina.realm.GenericPrincipal。现在,我希望使用ID而不是当前用户的loginname来执行诸如在数据库表中填写"created_by“列之类的任务。该列是一个数字列,而不是一个字符串,由于各种原因(数据卷,更改名称的可能性,.)

我在猫文档JDBCRealm-docs中没有看到这方面的属性。

我需要一个新的属性userIdCol,并且它也可以在GenericPrincipal中使用。更好的情况是,如果使用了新属性,那么ID在HttpServletRequest中是直接可用的。

我非常肯定,这是不可能的,但无论如何,想问,因为请求本身(有和id-号,而不是id-string)似乎是非常常见的。

任何建议都是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-08-27 20:43:21

使用Tomcat的现有代码无法做到这一点。

下面是我处理它的方法:当用户登录时,我加载一个User对象并将其放入HttpSession中。User对象包含用户的数字标识符。每当需要执行某些数据库操作时,我都会将当前的UserHttpSession传递到执行该操作的方法中。现在,处理数据库调用的代码可以访问用户的数字标识符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45857619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档