gpt4 book ai didi

jndi - 如何配置 JDBCRealm 从 JNDI 获取其数据源

转载 作者:行者123 更新时间:2023-12-03 14:46:50 26 4
gpt4 key购买 nike

您如何使用 JDBCRealm处理servlet 中的用户身份验证和授权?我能找到的唯一示例是在 web.xml 中创建数据源(例如 Authentication against database using shiro 1.2.1 )。

我不想在我的源树中包含数据库凭据(出于显而易见的原因),并且更喜欢通过 JNDI 使用上下文定义的数据源,因为我在我开发的每个其他 servlet 项目中用于任何其他目的的每个其他 RDBMS 都有.

你如何配置一个Shiro JDBCRealm获取其 DataSource来自 JNDI?

最佳答案

Vrushank 的回答非常接近:您不需要在这里对 JdbcRealm 进行子类化 - 您可以使用 Shiro 的 JndiObjectFactory获取数据源,然后在配置 JdbcRealm 时引用该数据源:

[main]
dataSource = org.apache.shiro.jndi.JndiObjectFactory
dataSource.resourceName = java://app/jdbc/myDataSource

jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm.dataSource = $dataSource
#addt'l config

对于 Web 应用程序,将文件保存在 WEB-INF/shiro.ini 下.

也可以看看
  • https://github.com/danielmt/shiro-primefaces-example/blob/master/src/main/webapp/WEB-INF/shiro.ini
  • 关于jndi - 如何配置 JDBCRealm 从 JNDI 获取其数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17441019/

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