网站建设资讯

NEWS

网站建设资讯

使用shiro怎么对INI进行配置-创新互联

这期内容当中小编将会给大家带来有关使用shiro怎么对INI进行配置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

站在用户的角度思考问题,与客户深入沟通,找到梁河网站设计与梁河网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖梁河地区。

根对象SecurityManager

从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的;也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Shiro提供了SecurityUtils让我们绑定它为全局的,方便后续操作。

因为Shiro的类都是POJO的,因此都很容易放到任何IoC容器管理。但是和一般的IoC容器的区别在于,Shiro从根对象securityManager开始导航;Shiro支持的依赖注入:public空参构造器对象的创建、setter依赖注入。 

1、纯Java代码写法(com.github.zhangkaitao.shiro.chapter4.NonConfigurationCreateTest): 

DefaultSecurityManager securityManager = new DefaultSecurityManager(); 
//设置authenticator 
ModularRealmAuthenticator authenticator = new ModularRealmAuthenticator(); 
authenticator.setAuthenticationStrategy(new AtLeastOneSuccessfulStrategy()); 
securityManager.setAuthenticator(authenticator); 
 
//设置authorizer 
ModularRealmAuthorizer authorizer = new ModularRealmAuthorizer(); 
authorizer.setPermissionResolver(new WildcardPermissionResolver()); 
securityManager.setAuthorizer(authorizer); 




//设置Realm 
DruidDataSource ds = new DruidDataSource(); 
ds.setDriverClassName("com.mysql.jdbc.Driver"); 
ds.setUrl("jdbc:mysql://localhost:3306/shiro"); 
ds.setUsername("root"); 
ds.setPassword(""); 
 
JdbcRealm jdbcRealm = new JdbcRealm(); 
jdbcRealm.setDataSource(ds); 
jdbcRealm.setPermissionsLookupEnabled(true); 
securityManager.setRealms(Arrays.asList((Realm) jdbcRealm)); 
 
//将SecurityManager设置到SecurityUtils 方便全局使用 
SecurityUtils.setSecurityManager(securityManager); 

Subject subject = SecurityUtils.getSubject(); 
UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123"); 
subject.login(token); 
Assert.assertTrue(subject.isAuthenticated());   



本文名称:使用shiro怎么对INI进行配置-创新互联
浏览地址:http://cdweb.net/article/gjdph.html