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

Shiro.ini文件配置但在Java类中?,java,shiro,Java,Shiro,我想知道是否可以在没有Shiro.ini文件的情况下配置Shiro,我的意思是,如果我需要在Java类中硬编码Shiro配置,而不是使用ini文件,该怎么办?是的,这是可能的。文档说明了如何执行此操作: 请参见 或者使用jdbc自定义领域是的,您可以通过 ServletContextHandler context = new ServletContextHandler( ServletContextHandler.SESSIONS ); context.setContextPath( "/" )

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

是的,这是可能的。文档说明了如何执行此操作:

请参见


或者使用jdbc自定义领域是的,您可以通过

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, "/*" );
ServletContextHandler context=新的ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath(“/”);
addEventListener(新环境LoaderListener());
//添加根ShiroFilter,所有剩余的过滤器和过滤器链都在shiro.ini的[URL]部分中定义。
FilterHolder FilterHolder=新的FilterHolder(新的ShiroFilter());
ServletHolder ServletHolder=newservletholder(new MockServlet());
EnumSet-types=EnumSet.allOf(DispatcherType.class);
addFilter(filterHolder,“/*”,类型);
addFilter(新FilterHolder(新TestFilter()),“/*”,类型);
addServlet(servletHolder,“/*”);
关于shiro.ini文件,请参考文件: