Shiro设计的初衷就是可以运行于任何环境:无论是简单的命令行应用程序还是复杂的企业集群应用。由于运行环境的多样性,所以有多种配置机制可用于配置,本节我们将介绍Shiro内核支持的这几种配置机制。
小贴士:多种配置方案:
Shiro的SecurityManager是和JavaBean兼容的,所以我们可以使用诸如Java、Xml(Spring、Jboss、Guice等)、YAML、Json、Groovy等配置方式。
一、基于Java代码的配置
最简单的创建并且使用SecurityManager的方式就是直接在代码中创建org.apache.shiro.mgt.DefaultSecurityManager类实例,比如:
1 Realm realm =//instantiate or acquire a Realm instance. We'll discuss Realms later.2 SecurityManager securityManager =newDefaultSecurityManager(realm);3 //Make the SecurityManager instance available to the entire application via static memory:4 SecurityUtils.setSecurityManager(securityManager);
只需区区三行代码,我们就已经为任何类型的应用程序配置好了一个全功能的Shiro运行环境,你看,多简单。
SecurityManager对象图谱:
就像我们在架构一节中介绍的,SecurityManager的实现是模块化的,而且可以兼容JavaBean,所以你可以通过setter和getter方法来配置SecurityManager及其内部组件。
比如如果你想把一个自定义的SessionDAO配置为SecurityManager的Session管理器,你可以直接调用SessionManager的setSessionDAO方法。<