当前位置: 首页 > news >正文

华夏名网网站管理助手seo和sem的区别是什么

华夏名网网站管理助手,seo和sem的区别是什么,分类信息网站如何建设,茂名网站开发服务商INI 配置之前章节我们已经接触过一些 INI 配置规则了#xff0c;如果大家使用过如 Spring 之类的 IoC/DI 容器的话#xff0c;Shiro 提供的 INI 配置也是非常类似的#xff0c;即可以理解为是一个 IoC/DI 容器#xff0c;但是区别在于它从一个根对象 securityManager 开始。…INI 配置之前章节我们已经接触过一些 INI 配置规则了如果大家使用过如 Spring 之类的 IoC/DI 容器的话Shiro 提供的 INI 配置也是非常类似的即可以理解为是一个 IoC/DI 容器但是区别在于它从一个根对象 securityManager 开始。根对象 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();//设置authenticatorModularRealmAuthenticator authenticator new ModularRealmAuthenticator();authenticator.setAuthenticationStrategy(new AtLeastOneSuccessfulStrategy());securityManager.setAuthenticator(authenticator);//设置authorizerModularRealmAuthorizer authorizer new ModularRealmAuthorizer();authorizer.setPermissionResolver(new WildcardPermissionResolver());securityManager.setAuthorizer(authorizer);//设置RealmDruidDataSource 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());2、等价的 INI 配置(shiro-config.ini)[main]\#authenticatorauthenticatororg.apache.shiro.authc.pam.ModularRealmAuthenticatorauthenticationStrategyorg.apache.shiro.authc.pam.AtLeastOneSuccessfulStrategyauthenticator.authenticationStrategy$authenticationStrategysecurityManager.authenticator$authenticator\#authorizerauthorizerorg.apache.shiro.authz.ModularRealmAuthorizerpermissionResolverorg.apache.shiro.authz.permission.WildcardPermissionResolverauthorizer.permissionResolver$permissionResolversecurityManager.authorizer$authorizer\#realmdataSourcecom.alibaba.druid.pool.DruidDataSourcedataSource.driverClassNamecom.mysql.jdbc.DriverdataSource.urljdbc:mysql://localhost:3306/shirodataSource.usernameroot\#dataSource.passwordjdbcRealmorg.apache.shiro.realm.jdbc.JdbcRealmjdbcRealm.dataSource$dataSourcejdbcRealm.permissionsLookupEnabledtruesecurityManager.realms$jdbcRealm 即使没接触过 IoC 容器的知识如上配置也是很容易理解的对象名 全限定类名 相对于调用 public 无参构造器创建对象对象名. 属性名 值 相当于调用 setter 方法设置常量值对象名. 属性名 $ 对象引用 相当于调用 setter 方法设置对象引用3、Java 代码(com.github.zhangkaitao.shiro.chapter4.ConfigurationCreateTest)Factory factory new IniSecurityManagerFactory(classpath:shiro-config.ini);org.apache.shiro.mgt.SecurityManager securityManager factory.getInstance();//将SecurityManager设置到SecurityUtils 方便全局使用SecurityUtils.setSecurityManager(securityManager);Subject subject SecurityUtils.getSubject();UsernamePasswordToken token new UsernamePasswordToken(zhang, 123);subject.login(token);Assert.assertTrue(subject.isAuthenticated()); 如上代码是从 Shiro INI 配置中获取相应的 securityManager 实例默认情况先创建一个名字为 securityManager类型为 org.apache.shiro.mgt.DefaultSecurityManager 的默认的 SecurityManager如果想自定义只需要在 ini 配置文件中指定 “securityManagerSecurityManager 实现类” 即可名字必须为 securityManager它是起始的根IniSecurityManagerFactory 是创建 securityManager 的工厂其需要一个 ini 配置文件路径其支持 “classpath:”(类路径)、“file:”(文件系统)、“url:”(网络)三种路径格式默认是文件系统接着获取 SecuriyManager 实例后续步骤和之前的一样。从如上可以看出 Shiro INI 配置方式本身提供了一个简单的 IoC/DI 机制方便在配置文件配置但是是从 securityManager 这个根对象开始导航。INI 配置ini 配置文件类似于 Java 中的 properties(keyvalue)不过提供了将 key/value 分类的特性key 是每个部分不重复即可而不是整个配置文件。如下是 INI 配置分类[main]\#提供了对根对象securityManager及其依赖的配置securityManagerorg.apache.shiro.mgt.DefaultSecurityManager…………securityManager.realms$jdbcRealm[users]\#提供了对用户/密码及其角色的配置用户名密码角色1角色2usernamepassword,role1,role2[roles]\#提供了角色及权限之间关系的配置角色权限1权限2role1permission1,permission2[urls]\#用于web提供了对web url拦截相关的配置url拦截器[参数]拦截器/index.html anon/admin/** authc, roles[admin], perms[permission1][main] 部分提供了对根对象 securityManager 及其依赖对象的配置。创建对象securityManagerorg.apache.shiro.mgt.DefaultSecurityManager其构造器必须是 public 空参构造器通过反射创建相应的实例。常量值 setter 注入dataSource.driverClassNamecom.mysql.jdbc.DriverjdbcRealm.permissionsLookupEnabledtrue 会自动调用 jdbcRealm.setPermissionsLookupEnabled(true)对于这种常量值会自动类型转换。对象引用 setter 注入authenticatororg.apache.shiro.authc.pam.ModularRealmAuthenticatorauthenticationStrategyorg.apache.shiro.authc.pam.AtLeastOneSuccessfulStrategyauthenticator.authenticationStrategy$authenticationStrategysecurityManager.authenticator$authenticator 会自动通过 securityManager.setAuthenticator(authenticator) 注入引用依赖。嵌套属性 setter 注入securityManager.authenticator.authenticationStrategy$authenticationStrategy也支持这种嵌套方式的 setter 注入。byte 数组 setter 注入\#base64 byte[]authenticator.bytesaGVsbG8\#hex byte[]authenticator.bytes0x68656c6c6f 默认需要使用 Base64 进行编码也可以使用 0x 十六进制。Array/Set/List setter 注入authenticator.array1,2,3authenticator.set$jdbcRealm,$jdbcRealm 多个之间通过 “” 分割。Map setter 注入authenticator.map$jdbcRealm:$jdbcRealm,1:1,key:abc即格式是mapkeyvaluekeyvalue可以注入常量及引用值常量的话都看作字符串(即使有泛型也不会自动造型)。实例化 / 注入顺序realmRealm1realmRealm12authenticator.bytesaGVsbG8authenticator.bytes0x68656c6c6f 后边的覆盖前边的注入。测试用例请参考配置文件 shiro-config-main.ini。[users] 部分配置用户名 / 密码及其角色格式“用户名 密码角色 1角色 2”角色部分可省略。如[users]zhang123,role1,role2wang123 密码一般生成其摘要 / 加密存储后续章节介绍。[roles] 部分配置角色及权限之间的关系格式“角色 权限 1权限 2”如[roles]role1user:create,user:updaterole2* 如果只有角色没有对应的权限可以不配 roles具体规则请参考授权章节。[urls] 部分配置 url 及相应的拦截器之间的关系格式“url 拦截器 [参数]拦截器 [参数]如[urls]/admin/** authc, roles[admin], perms[permission1] 具体规则参见 web 相关章节。
http://www.sadfv.cn/news/72929/

相关文章:

  • 制作网站的最大公司博物馆网站模版
  • 营销型网站设计怎么查网站的关键词
  • 国外炫网站重庆网站建设-首选云慧通
  • 献县网站建设价格小程序制作教程零基础入门
  • 网站内链优化中国新闻社是国企还是私企
  • 长沙做网站一般多少钱合适高端品牌网站建设的特点
  • 阿里云买了域名怎么建网站网上怎么开自己的网店呀
  • 深圳html5网站开发zimeiti wordpress
  • 网站的空间做简历用的网站
  • 网站建设的域名续费热点事件
  • 网站建立网站腾讯朋友圈广告怎么投放
  • 高职院校高水平专业建设网站已经有域名 怎么修改网站
  • 公司网站门户建设技术参数表google关键词分析工具
  • 酒店网站规划建设方案书深圳企业网站建设制作网络公司
  • 摄影 网站 模板网站建设怎么学
  • 网站做配置文件的作用网站权重如何查询
  • 热门网站排名平台公司和项目公司的区别
  • 做网站流量做分色找工作网站
  • 做社区网站怎么做西宁市解封最新消息今天
  • 哪些网站可以接兼职做网站开发逻辑图
  • 最好网站建设公司牡丹江出现一例
  • h5自适应网站模板泰安集团网站建设方案
  • 网站版式布局广州品牌策划公司有哪些
  • 网站建设合同黑客攻击游戏网站建设的策划
  • 小学校园网站建设要求WordPress修改评论者昵称
  • 网站页面设计技术参数郑州app制作开发
  • 做知乎网站要多少钱wordpress w3 total cache 编码错误
  • 个人网站的设计的现状亳州建设网站公司
  • 广州做网站建设的公司排名抖音企业推广费用
  • 湖南营销型网站建设优化营商环境条例心得体会