securitymanager

Shiro之shiro框架介绍(一)

旧巷老猫 提交于 2019-12-01 20:24:47
1.shiro是什么? Apache Shiro是Java的一个安全框架,提供了认证、授权、加密和会话管理等功能。 2.shiro的功能介绍 其基本功能点如下图所示: 下面介绍一下各功能点的意思: Authentication :身份认证/登录,验证用户是不是拥有相应的身份; Authorization :授权,即权限验证,验证某个已认证的用户是否拥有某个权限;就是说判断这个用户是否能做事情,例如:细粒度的验证某个用户对某个资源是否具有某个权限。 Session Management :回话管理,即用户登录后就是一次会话,在没有退出之前,他的所有信息都在会话中;会话可以是javase环境,也可以是web环境。 Cryptography :加密,保护数据的安全性;例如:密码加密存储到数据库,而不是明文存储。 Web Support :web支持,可以非常容易的集成到web环境。 Caching :缓存,比如用户登录后,用户信息、拥有的角色\权限不必每次都去查,都可以在缓存取,提供效率。 Concurrency :shiro支持多线程的并发验证,即,如在一个线程中开启另一个线程,可以把权限自动传播过去。 Testing :提供测试支持; Run As :允许一个用户假装为另一个用户(如果他们允许)进行访问。 Remember Me :记住我,这个是非常常见的功能,即一次登录后

shiro权限控制

喜欢而已 提交于 2019-12-01 20:24:25
shiro安全框架是目前为止作为登录注册最常用的框架,因为它十分的强大简单,提供了认证、授权、加密和会话管理等功能 。    shiro能做什么?        认证:验证用户的身份        授权:对用户执行访问控制:判断用户是否被允许做某事        会话管理:在任何环境下使用 Session API,即使没有 Web 或EJB 容器。        加密:以更简洁易用的方式使用加密功能,保护或隐藏数据防止被偷窥        Realms:聚集一个或多个用户安全数据的数据源        单点登录(SSO)功能。        为没有关联到登录的用户启用 "Remember Me“ 服务    Shiro 的四大核心部分       Authentication(身份验证):简称为“登录”,即证明用户是谁。       Authorization(授权):访问控制的过程,即决定是否有权限去访问受保护的资源。       Session Management(会话管理):管理用户特定的会话,即使在非 Web 或 EJB 应用程序。       Cryptography(加密):通过使用加密算法保持数据安全    shiro的三个核心组件:             Subject :正与系统进行交互的人,或某一个第三方服务。所有 Subject 实例都被绑定到

Shiro| Shiro介绍

天涯浪子 提交于 2019-12-01 20:24:04
文章目录 1.1 什么是shiro? 1.2 为什么要学shiro? 1.3 Shiro架构介绍 1.3.1 Subject 1.3.2 SecurityManager 1.3.3 Authenticator 1.3.4 Authorizer 1.3.5 realm 1.3.6 sessionManager 1.3.7 SessionDAO 1.3.8 CacheManager 1.3.9 Cryptography 1.4 shiro的jar包 1.1 什么是shiro? Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。 1.2 为什么要学shiro? 既然shiro将安全认证相关的功能抽取出来组成一个框架,使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。shiro使用广泛,shiro可以运行在web应用,非web应用,集群分布式应用中越来越多的用户开始使用shiro。 java领域中spring security(原名Acegi)也是一个开源的权限管理框架,但是spring security依赖spring运行,而shiro就相对独立,最主要是因为shiro使用简单、灵活,所以现在越来越多的用户选择shiro。 1.3 Shiro架构介绍 1

Tomcat console log to a file

梦想的初衷 提交于 2019-12-01 18:02:16
Im using Apache Tomcat 7 . When I'm running Tomcat with security manager and with the -Djava.security.debug parameter I'm getting so much of text in console. I can't read the text in console. So I need the console log into some file . How can I achieve this? Remove ConsoleHandler from logging configuration. In conf/logging.properties : Change this - .handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler To this - .handlers = 1catalina.org.apache.juli.FileHandler The logs will be in the file catalina.log . If you want to disable console logging for selected

Shiro

删除回忆录丶 提交于 2019-12-01 10:01:37
一、架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器,它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例: (1)使用用户的登录信息创建令牌 UsernamePasswordToken token = new UsernamePasswordToken(username, password); token可以理解为用户令牌,登录的过程被抽象为Shiro验证令牌是否具有合法身份以及相关权限。 (2)执行登陆动作 SecurityUtils.setSecurityManager(securityManager); // 注入SecurityManager Subject subject = SecurityUtils.getSubject(); // 获取Subject单例对象 subject.login(token); // 登陆 Shiro的核心部分是SecurityManager,它负责安全认证与授权。Shiro本身已经实现了所有的细节,用户可以完全把它当做一个黑盒来使用。SecurityUtils对象,本质上就是一个工厂类似Spring中的ApplicationContext。Subject是初学者比较难于理解的对象,很多人以为它可以等同于User,其实不然

Can I trust Java SecurityManager sandbox?

删除回忆录丶 提交于 2019-11-30 23:46:41
I'm writing a JavaFX2 application that accepts arbitrary code to be loaded from remote locations. For me using a custom SecurityManager, ClassLoader and ProtectionDomain was the way to go. Unfortunately this seems to be the same setup that's used to sandbox applets, which has caused a lot of security exploits and that in turn has persuaded people to fear Java Web Plugin and removing it from their OS entirely. Is Java sandbox a secure environment to run untrusted code onto, or is it just the Java Web Plugin as a whole to be insecure? The security manager provides your app. with exactly as much

shiro权限管理(认证和授权)

跟風遠走 提交于 2019-11-30 18:49:34
Shiro介绍 1.shiro介绍:Shirp是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权,加密,会话管理等功能,组成一个通用的安全认证框架。 2.Shiro框架 3.对象: a) Subject:主体,外部应用与subject进行交互,subject记录了当前操作用户,将用户的概念理解为当前操作的主体,可能是通过浏览器请求的用户,也可能是一个运行的程序。Subject在shiro中是一个接口,接口中定义了很多认证授权的相关方法,外部程序通过subject进行认证授权,而subject是通过SecurityManager安全管理器进行认证授权。 b) SecurityManager:安全管理器,对全部的subject进行安全管理,它是shiro的核心,负责对所有的subject进行安全管理。通过SecurityManager可以完成subject的认证,授权等,实质上SecurityManager是通过Authenticator进行认证,通过Authorizer进行授权,通过SessuionManager进行会话管理等。SecurityManager是一个接口,继承了Authenticator,Authorizer,SessionManager三个接口。 c) Authenticator:认证器,对用户身份进行认证

Security: Restrict internal access by third-party software

风流意气都作罢 提交于 2019-11-30 16:34:53
I have a Java application in which third-party "plugins" can be loaded by users to enhance the user experience. An API exists for use by these plugins, but the third-party software should be restricted from access to internal application classes for purpose of security. The restricted package to plugins would be "com.example" and the allowed would be "com.example.api". The API classes do make calls to the internal, obfuscated classes. After researching this, I came across a couple methods of SecurityManager: checkMemberAccess(Class, int) and checkPackageAccess(String) , which both seemed to be

Shiro学习笔记(1)-Shiro简介

时光总嘲笑我的痴心妄想 提交于 2019-11-30 13:16:55
什么是Shiro 简单地来说,Apache Shiro是Java的一个安全框架。 Shiro能实现的功能 (1)主要特性: Authentication: 验证用户身份,通常指登录。 Authorization :控制权限 Session Management :会话管理,用户登录成功后相关信息保存在会话中。可以是Web环境也可以是Java环境。 Cryptography:加密 (2)额外特性: Web Support:提供web应用支持,可以很方便集成到web环境 Caching: 缓存,来保存操作的高效性。 Concurrency: 支持多线程应用 Testing: 支持单元测试 Run As: 允许一个用户假装成另一个用户进行操作 Remember Me : 记住用户的身份信息 Shiro架构 从应用角度查看Shiro是如何工作的 从图片上可以看出来,Shiro有三个重要的概念: Subject: 主体,指的是当前和应用交互的用户,通常是人也可以指第三方服务或者后台进程等系列应用。所有的Subject都会绑定到SecurityManager,所以当我们和Subject进行交互时,其实真正作用的是SecurityManager。 SecurityManager:SecurityManager 是Shiro架构核心,它将所有的内部安全组件组合在一起。它充当一种引导者的角色

Limiting file access in Java

有些话、适合烂在心里 提交于 2019-11-29 22:24:14
Problem: In my Java application (not an applet) I wish to limit certain file operations to all classes except a list/group/package of classes that should not be restricted. Specifically, I would like to limit... File reads File writes File creation File deletion ...such that they can only be done within the current working directory for all but the unrestricted classes. SecurityManager attempt: I have tried to implement a subclass of the SecurityManager class that implements this behaviour, however it seems that when checks are made the file information provided does not give more than just