首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏IT当时语_青山师_JAVA技术栈

    Java魔法之SecurityManager

    Java魔法之SecurityManager 介绍一些关于SecurityManager的使用案例。 介绍 我们可以通过sun.misc.Unsafe做一些可怕的事情(操作底层)。 SecurityManager manager = System.getSecurityManager(); if (manager ! SecurityManager就是解决这些事情的。 lib库 你可以使用SecurityManager.checkPackageAccess方法限制整个包的使用。 参考: http://mishadoff.com/blog/java-magic-part-5-securitymanager/

    25420编辑于 2023-05-05
  • 来自专栏allsmallpi博客

    java安全管理器SecurityManager入门

    (SecurityManager.java:532) at java.lang.SecurityManager. 这时候具备一些SecurityManager的基础知识还是有必要的。 new java.lang.SecurityManager(); } else { try { sm = (SecurityManager)loader.loadClass SecurityManager sm = new SecurityManager();  SecurityManager securityManager = System.getSecurityManager ();  System.setSecurityManager(sm);  关闭: SecurityManager securityManager = System.getSecurityManager

    2.6K10发布于 2021-02-25
  • 来自专栏波波烤鸭

    Shiro源码分析之SecurityManager对象获取

      上篇文章Shiro源码分析之获取SecurityManager工厂获取我们介绍了SecurityManager工厂的获取步骤,本文在此基础上来分析下SecurityManager对象产生的过程 SecurityManager获取过程 1.SecurityManager接口介绍   SecurityManager安全管理器,是Shiro的核心,继承了三个接口,其定义的方法如下 public interface 2.SecurityManager实例化时序图 ? securityManager) { Collection<Realm> realms = getRealms(securityManager); if (! securityManager; } 初始化SecurityManager完成 4.总结 SecurityManager默认实例的是DefaultSecurityManager 如果我们在shiro.ini

    69240发布于 2019-04-02
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    Tomcat 6 --- 你很少使用的安全管理SecurityManager

    一般使用tomcat可能都没有注意到这个问题,本篇主要讲述tomcat 6中SecurityManager的管理机制,尽量使用简单明了的图片表示其中关系。 其他知识参考tomcat文档翻译。 System.out.println("SecurityManager: " + System.getSecurityManager()); File file = new File("C:/Users 对比下正常启动的输出,SecurityManager会输出null(此时,如果JSP中有system.exit(1);程序就会直接退出): ?

    1.4K70发布于 2018-01-17
  • 来自专栏波波烤鸭

    Shiro源码分析之获取SecurityManager工厂获取

    在java.lang包下也有同名的SecurityManager // 1.获取SecurityManager工厂对象 同时将配置文件信息封装到了ini对象中 Factory<SecurityManager > factory = new IniSecurityManagerFactory("classpath:shiro.ini"); // 2.获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager添加到当前的运行环境中 SecurityUtils.setSecurityManager 工厂对象分析   我们先来分析下SecurityManager工厂对象的源代码,来看看具体做了什么事情 // 1.获取SecurityManager工厂对象 同时将配置文件信息封装到了ini对象中 Factory <SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); 2.1先来看下对应的时序图 ?

    1.1K30发布于 2019-04-02
  • 来自专栏Java技术专题

    【Java技术专题】「盲点追踪」突破知识盲点分析Java安全管理器(SecurityManager

    SecurityManager是Java中的一个类,它允许开发人员控制应用程序对这些资源的访问。 SecurityManager可以实现以下功能:安全策略管理:SecurityManager可以实现安全策略管理,以确保应用程序只能访问它们被授权访问的资源。 访问控制:SecurityManager可以实现访问控制,以确保应用程序只能访问它们被授权访问的资源。 权限管理:SecurityManager可以实现权限管理,以确保应用程序只能执行它们被授权执行的操作。安全审计:SecurityManager可以实现安全审计,以记录应用程序对资源的访问和操作。 在Java中,可以通过System.setSecurityManager()方法来设置SecurityManager

    81640编辑于 2023-04-15
  • 来自专栏码神联盟

    Shiro系列 | 《Shiro开发详细教程》第四章:Shiro中Ini配置

    ,即可以理解为是一个 IOC/DI 容器,但是区别在于它从一个根对象SecurityManager 开始。 securityManager = factory.getInstance(); //将SecurityManager设置到SecurityUtils 方便全局使用 SecurityUtils.setSecurityManager 实例: 默认情况先创建一个名字为 securityManager,类型为 org.apache.shiro.mgt.DefaultSecurityManager 的默认的 SecurityManager ,如果想自定义,只需要在 ini 配置文件中指定 “securityManager=SecurityManager 实现类” 即可,名字必须为 SecurityManager,它是起始的根; IniSecurityManagerFactory 如下是 INI 配置分类: [main] ## 提供了对根对象securityManager及其依赖的配置 securityManager=org.apache.shiro.mgt.DefaultSecurityManager

    1K20发布于 2018-12-11
  • 来自专栏cwl_Java

    快速学习Shiro-Shiro的入门

    //2.获取securityManager SecurityManager securityManager = factory.getInstance(); //3.将securityManager //2.获取securityManager SecurityManager securityManager = factory.getInstance(); //3.将securityManagersecurityManager.realms=$permReam (3)验证 public class ShiroTest2 { private SecurityManager securityManager //2.获取securityManager SecurityManager securityManager = factory.getInstance(); //13.将 securityManager绑定到当前运行环境 SecurityUtils.setSecurityManager(securityManager); } @Test

    68130发布于 2020-01-02
  • 来自专栏波波烤鸭

    shiro教程1(HelloWorld)

    SecurityManager;可以把Subject认为是一个门面;SecurityManager才是实际的执行者 Shiro SecurityManager 安全管理器;即所有与安全有关的操作都会与SecurityManager ini配置文件中有四大主要配置类 main users roles urls main   提供了对根对象securityManager及其依赖对象的配置 #创建对象 securityManager / 2.通过Factory对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager // 2.通过Factory对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager对象添加到当前运行环境中 SecurityUtils.setSecurityManager(securityManager); // 4.获取Subject

    86251发布于 2019-04-02
  • 来自专栏cloudskyme

    shiro(2)-架构与配置

    SecurityManager (org.apache.shiro.mgt.SecurityManager) shiro系统的核心,协调主题使用的操作,验证,配置等。 SecurityManager securityManager = new DefaultSecurityManager(realm); //Make the SecurityManager instance Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); 2) 通过Ini Factory<SecurityManager> factory = new IniSecurityManagerFactory(ini); SecurityManager securityManager

    1K110发布于 2018-03-20
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Shiro教程4(授权操作)

    工厂对象 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); // 2.通过Factory对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager 对象添加到当前运行环境中 SecurityUtils.setSecurityManager(securityManager); // 4.获取Subject对象 Subject subject securityManager.realms=$customRealm 测试方法和之前一样 @Test public void test() { // 1.获取SecurityManager工厂对象 对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager

    84220发布于 2019-12-13
  • 来自专栏云计算linux

    JAVAEE安全框架之shiro第一课

    主题的“幕后”对应对象是SecurityManager。 每个应用程序几乎总是有一个SecurityManager实例。 创建SecurityManager SecurityManager securityManager = factory.getInstance(); // 3。 SecurityManager securityManager = factory.getInstance(); //3,使用SecurityManager可以访问 SecurityManager securityManager = factory.getInstance(); // 使SecurityManager可以访问 SecurityUtils.setSecurityManager

    34110编辑于 2024-12-13
  • 来自专栏秃头哥编程

    二十分钟了解Shiro登录流程

    加载 ini 配置, 初始化 SecurityManager Factory<SecurityManager> factory = new IniSecurityManagerFactory (securityManager); // 2. 获取安全管理器securityManager 首先我们看SecurityManager的获取方法factory.getInstance(); ? 以下代码省略部分代码, 保留核心逻辑。 (Ini ini) { SecurityManager securityManager = createSecurityManager(ini); return securityManager ).setRealms(realms); return securityManager; }} 可以看到, 创建SecurityManager的过程主要做了三件事 创建默认的

    1.7K50发布于 2020-05-07
  • 来自专栏波波烤鸭

    shiro教程2(自定义Realm)

    doGetAuthorizationInfo 完成用户授权的方法 配置ini.xml文件 [main] #自定义 realm customRealm=com.dpb.realm.MyRealm #将realm设置到securityManager securityManager.realms=$customRealm 测试 测试代码和上个案例一模一样 @Test public void test() { // 1.获取SecurityManager 工厂对象 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); / / 2.通过Factory对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager 对象添加到当前运行环境中 SecurityUtils.setSecurityManager(securityManager); // 4.获取Subject对象 Subject subject

    1.1K20发布于 2019-04-02
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    shiro教程1(HelloWorld)

    ini配置文件中有四大主要配置类 main users roles urls main 提供了对根对象securityManager及其依赖对象的配置 #创建对象 securityManager=org.apache.shiro.mgt.DefaultSecurityManager 2.通过Factory对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3.将SecurityManager // 2.通过Factory对象获取SecurityManager对象 SecurityManager securityManager = factory.getInstance(); // 3 .将SecurityManager对象添加到当前运行环境中 SecurityUtils.setSecurityManager(securityManager); // 4.获取Subject 在此方法中我们看到是 SecurityManager来管理认证操作的 继续进入 进入DefaultSecurityManager的login方法 ? 此方法中调用Authenticator认证 ?

    48021发布于 2019-12-13
  • 来自专栏java和python

    shiro笔记(三)maven项目集成shiro的第一个项目,实现认证和判断权限;加密及凭证匹配器

    对象 SecurityManager securityManager = factory.getInstance(); //3.将生产的SecurityManager 存储到SecurityUtils中,保证SecurityManager在 // 一次请内的任意位置获取的是同一个SecurityManager对象,不同的请求获取的是不同的。 SecurityUtils.setSecurityManager(securityManager); //4.获取subject对象完成认证 Subject subject 对象 SecurityManager securityManager = factory.getInstance(); //3.将生产的SecurityManager存储到 SecurityUtils中,保证SecurityManager在 // 一次请内的任意位置获取的是同一个SecurityManager对象,不同的请求获取的是不同的。

    60250发布于 2021-08-10
  • 来自专栏Java学习网

    Shiro高级及与项目的认证授权(二)

    1.2.3 自定义realm Realm域:Shiro从Realm获取安全数据(如用户、角色、权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较以确定用户身份是否合法 使用基于springboot的配置方式完成SecurityManager,Realm的装配 @Configuration public class ShiroConfiguration { // securityManager(CustomRealm realm) { //使用默认的安全管理器 DefaultWebSecurityManager securityManager shirFilter(SecurityManager securityManager) { //1.创建shiro过滤器工厂 ShiroFilterFactoryBean (); advisor.setSecurityManager(securityManager); return advisor; } }

    38930编辑于 2023-09-25
  • 来自专栏cayzlh

    Springboot集成Shiro(前后端分离)

    securityManager:安全管理器,主体进行认证和授权都是通过securityManager进行。 认证过程 认证执行流程 1、通过ini配置文件创建securityManager 2、调用subject.login方法主体提交认证,提交的token 3、securityManager进行认证,securityManager = new DefaultWebSecurityManager(); securityManager.setRealm(customRealm()); securityManager.setSessionManager (sessionManager()); return securityManager; } @Bean(name = "lifecycleBeanPostProcessor = new DefaultWebSecurityManager(); securityManager.setRealm(customRealm()); securityManager.setCacheManager

    3.8K11编辑于 2022-03-01
  • 来自专栏山行AI

    shiro中改造成restful无状态服务的DisabledSessionException问题分析与解决

    改造部分 SecurityManager 的配置如下: @Bean public SecurityManager securityManager(OAuthRealm oAuthRealm) { DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); securityManager.setRealm securityManager.setCacheManager(getEhCache()); //securityManager.setSessionManager(sessionManager 解决办法 securityManager: @Bean public SecurityManager securityManager(OAuthRealm oAuthRealm) { return securityManager; }

    2.6K10发布于 2019-12-02
  • 来自专栏玩转JavaEE

    初识Shiro

    处理的操作最终都会委托给SecurityManagerSecurityManager SecurityManager单从字面上我们可以理解为一个安全管理器,所有的Subject都由SecurityManager来管理,它是Shiro的核心,SecurityManager Realm中,SecurityManager在Realm中查询数据进行验证。 2.通过SecurityManager工厂获取到SecurityManager的实例,并将该实例绑定给SecurityUtils,设置给SecurityUtils是一个全局设置,设置一次即可。 ("classpath:shiro-jdbc-realm.ini"); SecurityManager securityManager = factory.getInstance();

    1K50发布于 2018-04-02
领券