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 类中?的主要内容,如果未能解决你的问题,请参考以下文章