Shiro.ini 文件配置但在 Java 类中?

Posted

技术标签:

【中文标题】Shiro.ini 文件配置但在 Java 类中?【英文标题】:Shiro.ini file configuration but in Java class? 【发布时间】:2015-01-30 09:38:56 【问题描述】:

我想知道是否可以在没有 shiro.ini 文件的情况下配置 Shiro,我的意思是,如果我需要在 Java 类中硬编码 Shiro 配置,而不是使用 INI 文件,该怎么办?

【问题讨论】:

【参考方案1】:

是的,你可以通过

ServletContextHandler context = new ServletContextHandler( ServletContextHandler.SESSIONS );
context.setContextPath( "/" );
context.addEventListener( new EnvironmentLoaderListener() );

// Add root ShiroFilter, all remaining filters and filter chains are defined in shiro.ini's [urls] section.
FilterHolder filterHolder = new FilterHolder( new ShiroFilter() );
ServletHolder servletHolder = new ServletHolder( new MockServlet() );

EnumSet<DispatcherType> types = EnumSet.allOf( DispatcherType.class );
context.addFilter( filterHolder, "/*", types );
context.addFilter( new FilterHolder( new TestFilter() ), "/*", types );
context.addServlet( servletHolder, "/*" );

对于 shiro.ini 文件,请参考this doc:

【讨论】:

【参考方案2】:

见Credentials Matching

或使用 jdbc 自定义领域here

【讨论】:

【参考方案3】:

是的,这是可能的。文档说明了如何做到这一点:

http://shiro.apache.org/configuration.html#Configuration-ProgrammaticConfiguration

【讨论】:

以上是关于Shiro.ini 文件配置但在 Java 类中?的主要内容,如果未能解决你的问题,请参考以下文章

为 JDBC 连接配置 shiro.ini

为 JDBC 连接配置 shiro.ini

34Shiro框架入门三,角色管理

Shiro学习

Shiro 安全框架详解一(概念+登录案例实现)

Shiro 安全框架详解二(概念+权限案例实现)