securitymanager

How to sanely configure security policy in Tomcat 6

假装没事ソ 提交于 2020-01-31 03:28:23
问题 I'm using Tomcat 6.0.24, as packaged for Ubuntu Karmic. The default security policy of Ubuntu's Tomcat package is pretty stringent, but appears straightforward. In /var/lib/tomcat6/conf/policy.d , there are a variety of files that establish default policy. Worth noting at the start: I've not changed the stock tomcat install at all -- no new jars into its common lib directory(ies), no server.xml changes, etc. Putting the .war file in the webapps directory is the only deployment action. the web

SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例

倖福魔咒の 提交于 2020-01-30 17:54:11
SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录 (?) [+] 1.前言 本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例。 使用技术:SpringBoot、mybatis、shiro、thymeleaf、pagehelper、Mapper插件、druid、dataTables、ztree、jQuery 开发工具:intellij idea 数据库:mysql、redis 基本上是基于使用SpringSecurity的demo上修改而成,地址 http://blog.csdn.net/poorcoder_/article/details/70231779 2.表结构 还是是用标准的5张表来展现权限。如下图: 分别为用户表,角色表,资源表,用户角色表,角色资源表。在这个demo中使用了mybatis-generator自动生成代码。运行mybatis-generator:generate -e 根据数据库中的表,生成 相应的model,mapper单表的增删改查。不过如果是导入本项目的就别运行这个命令了。新增表的话,也要修改mybatis-generator-config.xml中的tableName,指定表名再运行。 3.maven配置 <?xml version=

shiro之 shiro整合ssm

旧城冷巷雨未停 提交于 2020-01-30 16:41:21
1. 整合ssm并且实现用户登录和菜单权限。 2. 将shiro整合到ssm中   a).添加shiro相关jar包   b).在web.xml种添加shiro的配置 <!-- 配置shirofilter 通过代理来配置,对象由spring容器来创建的,但是交由servlet容器来管理 --> <filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <init-param> <!-- 表示bean的生命周期有servlet来管理 --> <param-name>targetFilterLifecycle</param-name> <param-value>true</param-value> </init-param> <init-param> <!--表示在spring容器中bean的id,如果不配置该属性,那么默认和该filter的name一致--> <param-name>targetBeanName</param-name> <param-value>shiroFilter</param-value> </init-param> </filter> <filter

SasSHRM中基于shiro的认证授权:系统微服务配置shiro

家住魔仙堡 提交于 2020-01-25 03:03:08
#服务配置 server: port: 9002 #spring配置 spring: #1.应用配置 application: name: ihrm-system #指定服务名 #2.数据库连接池 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/ihrm?useUnicode=true&characterEncoding=utf8 username: root password: 111111 #3.JPA jpa: database: MySQL show-sql: true open-in-view: true redis: host: localhost port: 9999 password: 123456 jwt: config: key: saas-ihrm ttl: 3600000 package com.learn.system; import com.learn.common.shiro.realm.IhrmRealm; import com.learn.common.shiro.session.CustomSessionManager; import com.learn.system.shiro.realm.UserRealm;

Session(数据)共享的前后端分离Shiro实战

半腔热情 提交于 2020-01-22 19:04:29
1,前言 本文期望描述如何使用Shiro构建基本的安全登录和权限验证。本文实战场景有如下特殊需求:1,在集群和分布式环境实现session共享;2,前端只使用HTML/CSS/JS。因此无法直接使用Shiro提供的SessionManager,以及Shiro针对web应用提供的Filter拦截方式。当然,除非是一定要通过共享缓存的方式共享session,否则还是使用Shiro默认的session管理,毕竟增加独立缓存就意味着维护成本的提高和可用性的下降。 2, Shiro架构 首先一睹官方给出的Shiro架构图,如图1所示。刨除最右侧的加密工具类,主要围绕SercurityManager来阐述。SercurityManager是Shiro安全框架里的顶层安全管理中心,所有安全控制相关逻辑都是在SercurityManager里面通过delegate的方式,调用到真正的动作执行者。从图1可以清楚看到主要管理的组件:authentication管理,authorization管理,session管理,session缓存管理,cache管理,realms管理。(本文不想重复已有的文字,想要更好的了解Shiro,详见官方推荐的Shiro full intro: https://www.infoq.com/articles/apache-shiro ) 1

springboot整合shiro登录MD5加密详细使用

北慕城南 提交于 2020-01-22 01:32:26
2、shiro需要引用的jar包 @Configuration public class ShiroConfig { /** * 配置加密方式 * @return */ @Bean //用来声明bean 相当于在spring配置文件中配置<bean>标签 HashedCredentialsMatcher credentialsMatcher ( ) { HashedCredentialsMatcher matcher = new HashedCredentialsMatcher ( ) ; //设置属性值 //设置加密算法 matcher . setHashAlgorithmName ( "MD5" ) ; //设置加密次数 matcher . setHashIterations ( 1024 ) ; return matcher ; } //配置Realm @Bean MyRealm myRealm ( ) { MyRealm myRealm = new MyRealm ( ) ; //设置加密方式 myRealm . setCredentialsMatcher ( credentialsMatcher ( ) ) ; return myRealm ; } //配置安全管理器 @Bean DefaultWebSecurityManager securityManager ( )

ReflectPermission(“suppressAccessChecks”)

好久不见. 提交于 2020-01-16 09:24:29
问题 I'm having problem with ReflectPermission("suppressAccessChecks"). Whenever I login with authenticated user (user name and password) and try to access a .jsp or any other page in my web application I get java.security.AccessControlException: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks") . This happens only when I have " Security Manager " enabled by checking it in GlassFish Security properties . When I uncheck this option the web application works. I would like

Apache Shiro系列教程之二:十分钟上手Shiro

a 夏天 提交于 2020-01-14 08:22:02
在本教程中,我们会写一个简单的、仅仅输出一些内容命令行程序,从而对Shiro有一个大体的感觉。 一、准备工作 本教程需要Java1.5+,并且我们用Maven生成项目,当然Maven不是必须的,你也可以通过导入Shiro jar包的方式、或使用Ant、Ivy,喜欢哪种就用哪种。 开始之前,确定你的Maven版本为2.2.1+(如果你用的是Maven的话),用mvn --version确定Maven的版本。 现在,我们将正式开始。首先新建一个文件夹,比如说shiro-tutorial,然后将下面的Maven pom.xml文件放到该文件夹下。 pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 5 6 <modelVersion>4.0.0</modelVersion> 7 <groupId>org.apache.shiro

Shiro 整合 Springboo2.2

↘锁芯ラ 提交于 2020-01-13 08:12:40
Shiro 就不多介绍了,原理性的东西非常多。总结一下有一些要注意的点,例如 Authentication 和 Authorization 这两个几乎长的一毛一样的单词对新手来说实在太不友好了。前者是登录时用的 身份验证 (即用户密码),后者是 角色权限 相关的验证 SpringBoot 网上很多教程是Spring的,一大堆 Bean 配置让人云里雾里的。 SpringBoot 出了 starter,我们可以用来省去一些配置。 注意 pom 引入的是上面那个带 web 的,不是下面那个,不然Web环境中用不了。算是个小小的坑 我们先来看一下,传统的Spring需要我们做哪些配置,即注入了哪些 Bean。 用来设置如何管理 session 的 seesionManger Shiro最核心的类,是所有相关类的门面, securityManager 拦截规则,设置哪些 url 需要进行 登录或权限 检查的 shiroFilter 下面两个是和Spring 相关的类,没有我们需要自定义的地方。 其实在 Spring Boot 中 : 上面几个Bean都有对应的自动注入,从源代码中把他们扒出来,看看具体自动配置了什么。 在 ShiroWebAutoConfiguration 类中,有相关的自动配置。 例如这两个,具体的配置在父类。注意 @ConditionalOnMissingBean 注解

Shiro简介

半城伤御伤魂 提交于 2020-01-12 00:23:26
1.shiro是什么? Shiro是Apache下的一个开源项目。shiro属于轻量级框架,相对于SpringSecurity简单的多,也没有SpringSecurity那么复杂。官方架构图如下: 2.Shiro提供了四大功能: (1)认证 (2)授权 (3)加密 (4)会话管理 3.shiro主要功能 shiro主要有三大功能模块: Subject:主体,一般指用户。 SecurityManager:安全管理器,管理所有Subject,可以配合内部安全组件。(类似于SpringMVC中的DispatcherServlet) Realms:用于进行权限信息的验证,一般需要自己实现。 细分功能 Authentication:身份认证/登录(账号密码验证)。 Authorization:授权,即角色或者权限验证。 Session Manager:会话管理,用户登录后的session相关管理。 Cryptography:加密,密码加密等。 Web Support:Web支持,集成Web环境。 Caching:缓存,用户信息、角色、权限等缓存到如redis等缓存中。 Concurrency:多线程并发验证,在一个线程中开启另一个线程,可以把权限自动传播过去。 Testing:测试支持; Run As:允许一个用户假装为另一个用户(如果他们允许)的身份进行访问。 Remember Me