realm

Tomcat 多个域名 配置

℡╲_俬逩灬. 提交于 2020-04-29 16:46:10
打开 tomcat 下 conf/server.xml 文件 添加 < Host name = "www.aaa.com" appBase = "webapps" unpackWARs = "true" autoDeploy = "true" > < Valve className = "org.apache.catalina.valves.AccessLogValve" directory = "logs" prefix = "localhost_access_log." suffix = ".txt" pattern = "%h %l %u %t "%r" %s %b" /> </ Host > < Host name = "www.bbb.com" appBase = "webapps2" unpackWARs = "true" autoDeploy = "true" > < Valve className = "org.apache.catalina.valves.AccessLogValve" directory = "logs" prefix = "localhost_access_log." suffix = ".txt" pattern = "%h %l %u %t "%r" %s %b" /> </ Host > webapps 里面放的项目1 webapps2

Springboot + Vue + shiro 实现前后端分离、权限控制

孤者浪人 提交于 2020-04-29 15:35:50
本文总结自实习中对项目对重构。原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelAndView,逐渐有了前后端分离的想法,由于之前比没有接触过,主要参考的还是网上的一些博客教程等,初步完成了前后端分离,在此记录必备查阅。 一、前后端分离思想 前端从后端剥离,形成一个前端工程,前端只利用Json来和后端进行交互,后端不返回页面,只返回Json数据。前后端之间完全通过public API约定。 二、后端 Springboot Springboot就不再赘述了,Controller层返回Json数据。 @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public JSONResult addClient(@RequestBody String param) { JSONObject jsonObject = JSON.parseObject(param); String task = jsonObject.getString("task" ); List <Object> list = jsonObject.getJSONArray("attributes" );

springboot学习笔记:11.springboot+shiro+mysql+mybatis(通用mapper)+freemarker+ztree+layui实现通用的java后台管理系统(...

一个人想着一个人 提交于 2020-04-29 10:55:59
一.前言 经过前10篇文章,我们已经可以快速搭建一个springboot的web项目; 今天,我们在上一节基础上继续集成shiro框架,实现一个可以通用的后台管理系统;包括用户管理,角色管理,菜单管理三大系统常用管理模块; 二.数据库表准备: 要想实现用户管理+角色管理+菜单管理三大模块,基本上我们常用的解决方案就是如下五个表(sql脚本在最后): 三.集成shiro和配置 1.添加pom依赖。 < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-core </ artifactId > < version > 1.4.0 </ version > </ dependency > < dependency > < groupId > org.apache.shiro </ groupId > < artifactId > shiro-spring </ artifactId > < version > 1.4.0 </ version > </ dependency > 2.编辑shiro配置类:ShiroConfig.java package com.zjt.config; import com.zjt.realm.MyRealm; import org.apache

keycloak集成cas客户端

♀尐吖头ヾ 提交于 2020-04-26 19:07:51
keycloak作为cas客户端背景 1.keycloak本身不支持Cas协议,考虑到市场上使用Cas-Server做认证的企业较多,将keycloak与Cas-server进行集成,相当于keycloak作为cas的客户端。 2.采用三方支持的方式,让keycloak支持cas客户端 3.keycloak集成cas客户端后,cas-server回调keycloak 4.keycloak初始化session缓存等信息。 5.其他应用利用已经登录的用户信息通过鉴权。 keycloak集成Cas-client,提供间接访问Cas-server的支持,实现与第三方鉴权服务的集成。步骤如下: 1.提供keycloak集成Cas客户端的SPI 2.打包并部署到keycloak中 3.安装并启动Cas-Server 4.提供keycloak配置Cas服务端参数配置的html页面 5.keycloak中配置cas服务端的相关参数 6.测试客户端通过keycloak间接访问Cas-server,实现同一个realm下的SSO. 若有开发需要,可留言于我,或者加入 QQ:794868111 ,相互交流。 PS:keycloak与cas-client的集成稍微我会上传到github中,请后续关注。 来源: oschina 链接: https://my.oschina.net/u/4340671

SpringBoot&Shiro实现权限管理

早过忘川 提交于 2020-04-26 19:06:18
SpringBoot&Shiro实现权限管理 引言 相信大家前来看这篇文章的时候,是有SpringBoot和Shiro基础的,所以本文只介绍整合的步骤,如果哪里写的不好,恳请大家能指出错误,谢谢!依赖以及一些配置文件请在源码里参考,请参见 https://github.com/Slags/springboot-learn/tree/master/1.springboot-shiro-authentication , 个人博客:www.fqcoder.cn 一、数据库模板设计 在本文中,我们使用RBAC(Role-Based Access Control,基于角色的访问控制)模型设计用户,角色和权限间的关系。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。如下图所示: 然后我们在来根据这个模型图,设计数据库表,记得自己添加一点测试数据哦 CREATE TABLE `tb_permission` ( `id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `name` varchar(255)

SpringBoot系列: SpringBoot Web项目中使用Shiro

↘锁芯ラ 提交于 2020-04-26 19:05:39
注意点有: 1. 不要启用 spring-boot-devtools, 如果启用 devtools 后, 不管是热启动还是手工重启, devtools总是试图重新恢复之前的session数据, 很有可能会导致session混乱. 2. 在配置 Shiro 的filterChainDefinitionMap时, 登陆的 url 也要使用 authc filter. 3. 自定义 Realm 类的 doGetAuthenticationInfo() 方法, 仅生成 AuthenticationInfo 对象, 不需要做密码验证. 密码验证步骤是在 Realm 父类的 assertCredentialsMatch() 方法完成. 这篇仅仅列了一些有关shiro不错的文章 ============================ 生产环境代码参考 ============================ 补习系列(6)- springboot 整合 shiro 一指禅 https://www.cnblogs.com/littleatp/p/9471950.html SpringBoot 整合 Redis 实现 Shiro 权限控制的集群 Session 共享 http://itechor.top/solo/articles/2018/11/09/1541749859183.html

keycloak 自定义页面开发

*爱你&永不变心* 提交于 2020-04-26 17:42:06
1.开发方式 主题类型 Account - Account management Admin - Admin console Email - Emails Login - Login forms Welcome - Welcome page 创建主题 HTML templates (Freemarker Templates) Images Message bundles Stylesheets Scripts Theme properties 主题开发 严格按照文件目录,文件名称,文件格式,可选的继承父主题。 调整主题 继承父主题,选择性的覆盖或增加表单控件,更改样式,更改文字内容等。 完全覆盖开发 基于freemarker模板引擎及vue等当下流行纯前端技术。 找到原页面中出现的接口。 找到并理解原页面中出现的表达式及含义。 2.难点 难点在于找到并理解原页面中出现的表达式及含义。 挖掘模板引擎中realm.password表达式含义: 在login.ftl中有如下代码: <#if realm.password> <form id="kc-form-login" onsubmit="login.disabled = true; return true;" action="${url.loginAction}" method="post"> ............. <#if>

权限框架之Shiro详解(非原创)

扶醉桌前 提交于 2020-04-21 07:14:51
文章大纲 一、权限框架介绍 二、Shiro基础介绍 三、Spring Boot整合Shiro代码实战 四、项目源码与资料下载 五、参考文章 一、权限框架介绍 1. 什么是权限管理   权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。   权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。 1.1 用户身份认证   身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。对于采用指纹等系统,则出示指纹;对于硬件Key等刷卡系统,则需要刷卡。 用户名密码身份认证流程: 1.2 授权流程   授权,即访问控制,控制谁能访问哪些资源。主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的。 2. 常见权限框架 2.1 Shiro简介   Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大

Spring与Shiro整合 加载权限表达式

旧城冷巷雨未停 提交于 2020-04-20 10:20:27
Spring与Shiro整合 加载权限表达式 作者 : Stanley 罗昊 【转载请注明出处和署名,谢谢!】 如何加载权限表达式 我们在上章内容中画了一张图,里面有三个分项,用户 角色 权限; 那么接下来我们就要思考一个问题了,这三张表中的数据要从何而来呢? 用户表 首先先看用户表,用户表的数据库是从用户注册而来; 角色 角色的话肯定是我们手动去创建出来,但是我们在创建角色之前呢?是不是需要先有权限后才能去创建角色呢?因为角色是依赖于权限,只要先有了权限,我们就可以讲它们归类,分配给我们某一个角色; 所以我们的突破口就是,权限该如何去加载这个问题; 我们可以打开我们的Cotroller在接口上可以看到凡是带有Shiro注解的,都是需要有相对应的权限才可以访问的: 重新加载权限 那,问题就来了,我们如何将注解中的权限表达式(employee:edit)存入到数据库中呢? 我们在之前的操作中,是手动的将表达式复制粘贴到数据库中,也就是手动添加进去的,那你想一下,如果需要添加非常多的权限,我们还依然用手动的方式,显然非常麻烦! 那我们能不能想一种办法,就是让用户一点击或进入这个接口执行一个方法马上让它把所有Cotroller中的权限表达式给全部拿出来存入到数据库中; 能不能做到呢? 答案是可以的! 我们在页面上有一个功能是重新加载权限,这个意思就是我们点击后,你加下来的编码

tomcat中多个端口部署项目

人走茶凉 提交于 2020-04-19 14:33:08
默认情况下,我们从apache下载回来的tomcat是8080端口,有时候我们想继续使用8080端口,还想额外使用其他端口,比如8081 以下是部署办法,打开conf/server.xml,在最后一个</service>节点下添加以下配置 < Service name ="Catalina2" > < Connector port ="8081" protocol ="HTTP/1.1" connectionTimeout ="20000" redirectPort ="8444" /> < Engine name ="Catalina2" defaultHost ="localhost" > < Realm className ="org.apache.catalina.realm.LockOutRealm" > < Realm className ="org.apache.catalina.realm.UserDatabaseRealm" resourceName ="UserDatabase" /> </ Realm > < Host name ="localhost" appBase ="webapps8081" unpackWARs ="true" autoDeploy ="true" > < Valve className ="org.apache.catalina