realm

shiro篇---关于认证

本小妞迷上赌 提交于 2020-08-07 01:47:11
1.获取当前的Subject,调用SecurityUtils.getSubject(); 2.测试当前的用户是否已被认证,即是否已经登录,调用subject的isAuthenticated() 3.若没有被认证,则把用户名和密码封装为UsernamePasswordToken对象 1.)创建一个表单页面。 2.)把请求提交到SpringMVC的Handler 3.)获取用户名和密码 4.)执行登录:调用Subject的login(AuthenticationToken)方法 5.)自定义Realm的方法,从数据库中获取对应的记录,返回给Shiro 5.1 实际上需要基础org.apche.shiro.realm.AuthenticatingRealm类 5.2 实现doGetAuthenticationInfo(AuthenticationToken) 方法 6、由shiro完成对密码的比对 本文来源于:宋文超super,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。 来源: oschina 链接: https://my.oschina.net/u/3649200/blog/4439115

Keycloak快速上手指南,只需10分钟即可接入Spring Boot/Vue前后端分离应用实现S

扶醉桌前 提交于 2020-08-06 15:22:50
登录及身份认证是现代web应用最基本的功能之一,对于企业内部的系统,多个系统往往希望有一套SSO服务对企业用户的登录及身份认证进行统一的管理,提升用户同时使用多个系统的体验,Keycloak正是为此种场景而生。本文将简明的介绍Keycloak的安装、使用,并给出目前较流行的前后端分离应用如何快速接入Keycloak的示例。 Keycloak是什么 Keycloak是一种面向现代应用和服务的开源IAM(身份识别与访问管理)解决方案 Keycloak提供了单点登录(SSO)功能,支持 OpenID Connect 、 OAuth 2.0 、 SAML 2.0 标准协议,拥有简单易用的管理控制台,并提供对LDAP、Active Directory以及Github、Google等社交账号登录的支持,做到了非常简单的开箱即用。 Keycloak常用核心概念介绍 首先通过官方的一张图来了解下整体的核心概念 这里先只介绍4个最常用的核心概念: Users : 用户,使用并需要登录系统的对象 Roles : 角色,用来对用户的权限进行管理 Clients : 客户端,需要接入Keycloak并被Keycloak保护的应用和服务 Realms : 领域,领域管理着一批用户、证书、角色、组等,一个用户只能属于并且能登陆到一个域,域之间是互相独立隔离的, 一个域只能管理它下面所属的用户

CentOS 6.5 x64安装svn

前提是你 提交于 2020-08-06 04:46:19
#svn安装 yum install -y subversion 卸载svn旧版本 yum remove -y subversion wget http://pkgs.repoforge.org/subversion/subversion-1.7.4-0.1.el6.rfx.x86_64.rpm 安装新版本 rpm -ivh subversion-1.7.4-0.1.el6.rfx.x86_64.rpm 创建svn根目录 mkdir /svndata 创建svn公共配置目录 mkdir -p /usr/local/subversion/conf cd /usr/local/subversion/conf 编辑用户文件authz 内容如下: [groups] backend=zty [/] whh=rw @backend=rw 解释: backend是代表一个用户组,@backend=rw表示用户组有读写权限。 whh是用来跑钩子脚本的用户,名字大家可以随便取,下面会说到钩子脚本。 如果需要添加用户zhang,修改backend=zty,在后面加上即可,多个用户用逗号隔开,效果如下: backend=zty,zhang 编辑密码文件passwd 内容如下: [users] whh = whh zty = zty123 解释: 等号左边是用户,等号右边是密码 创建bin目录 mkdir

shiro篇---配置多个realm 【realms】

我只是一个虾纸丫 提交于 2020-08-06 01:17:46
securityManager的配置 当调用SecurityUtils. getSubject ().login(token); 即subject的login 方法;默认会调用realm里面的doGetAuthenticationInfo方法进行身份验证。但上面设置了 配置使用自定义认证器 会先进入这个,再决定进入哪个realm. 验****证成功后会进入当前realm的 doGetAuthorizationInfo 方法进行授权 本文来源于:宋文超super,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。 来源: oschina 链接: https://my.oschina.net/u/3649200/blog/4439085

全栈之路-微信小程序-SKU开发(代码)

末鹿安然 提交于 2020-08-05 03:45:11
  SKU开发是小程序中最难的一部分,思路在分析中已经记录过了,这里主要看一下代码的实现,感觉老师写的代码太棒了,很优雅!主要想记录一下写代码的思路,对面向对象编程的实践。 一、代码结构的分析 1、说明几个关键词 搞清楚sku的概念,搞清楚我们抽象出来的realm组件、fence组件、cell组件以及他们对应的模型类,这里模型类放到models文件夹中 realm组件 --- fence-group.js中的FenceGroup模型 fence组件 --- fence.js中的Fence模型 cell组件 --- cell.js中Cell模型 除此之外,还有 矩阵的处理模型:matrix.js中的Matrix模型 总控制模型(负责方法的调用):judger.js中的Judger模型 sku-code处理模型:sku-code.js中的SkuCode模型 2019年12月10日11:04:41截止,可能后续还会有处理sku规格值的状态的模型,后续再补充... 2、分析他们之间的联系(做的图示) 说明: 图中所示的箭头的流向是从用户的角度来看,当点击规格值进行选择时,数据的流向 感想总结:这个结构这样抽象出来,感觉太清晰了,彼此之前是独立的,可扩展的,但是彼此之间是有联系的,各司其职,哇,感觉这样写出来的代码太美好了,原来写代码可以这么舒服,好的代码,好的架构真的让人耳目一新

shiro的认证、授权、会话、加密

北战南征 提交于 2020-08-04 17:50:05
shiro shiro是一个基于java的开源的安全管理框架,可以完成认证,授权,会话管理,加密,缓存功能。 为什么学习shiro 在java的世界中,安全管理框架有spring security和shiro。spring security主要依赖于spring,并且比较复杂,学习曲线较高。shiro比较简单,而且其比较独立,既可以javaSE中使用,也可以在javaEE中使用,并且在分布式集群的环境下也可以使用。 shiro的结构体系 Authentication认证:验证用户是否合法。==>就是验证登录; Authorization授权:授予谁具有访问某些资源的权限; SessionManagement:会话管理,用户登录后的用户信息通过SessionManagent进行管理,不管是在什么应用中 Cryphography:提供了一些常见的加密算法,使得在应用中可以很方便的实现数据安全。 WebSupport:提供web应用程序支持 Caching缓存:提供了对缓存的支持,支持多种缓存架构:如ehcache,还支持缓存数据库-redis Concurrency:支持多线程并发访问 Testing:测试 Run As:支持一个用户在允许的前提下使用另一个身份进行登录; RememberMe:记住我 Subject=身份+凭证====>用户名和密码【用户获取主体的信息

SpringBoot+Shiro实现权限控制

情到浓时终转凉″ 提交于 2020-08-04 09:16:30
一、Shiro简介 二、项目实现 2.1 数据库结构 2.2 SQL SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for menu -- ---------------------------- DROP TABLE IF EXISTS `menu`; CREATE TABLE `menu` ( `menu_id` int(32) NOT NULL AUTO_INCREMENT, `menu_ name` varchar(200) NOT NULL, `parent_id` int(32) NOT NULL DEFAULT '0', `url` varchar(250) NOT NULL DEFAULT '#', `menu_type` int(3) NOT NULL, `perms` varchar(250) NOT NULL, PRIMARY KEY (`menu_id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of menu -- ---------------------------- INSERT INTO

Realm Android javassist.NotFoundException: io.realm.com_example_realmtest_data_SomethingRealmProxyInterface

╄→гoц情女王★ 提交于 2020-08-04 06:00:08
问题 I was completely new to realm in android, and I started from simple kotlin-project with only one entity which had only one field. open class Something : RealmObject() { @PrimaryKey var id: Long = 0 } I initialized Realm in my Application class: class RealmApp : Application() { override fun onCreate() { super.onCreate() Realm.init(this) val config = RealmConfiguration.Builder().build() Realm.setDefaultConfiguration(config) } } And, of course I added realm plugin: //Project level dependencies {

Realm syncing with large collection on Firestore - architectural questions / issues

隐身守侯 提交于 2020-08-02 05:29:45
问题 I have a collection of product objects (title, desc, price, quant, urlString, etc) in a Firestore collection. Currently around 1000 items, but that could go to 10k. On my iOS app launch, I setup a collection listener ( db.collection("products").rx.listen() ) which then saves changes to a local Realm database. .subscribe(onNext: { querySnapshot in querySnapshot.documentChanges.forEach { docChange in autoreleasepool { let realm = try! Realm(configuration: Realm.Configuration

shiro框架了解

我的未来我决定 提交于 2020-07-28 10:38:36
shiro框架 1.shiro简介 Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的 认证,授权,加密 及 会话管理 的解决方案 2.shiro组成 Authentication :身份认证/登录,验证用户是不是拥有相应的身份; Authorization :授权,即权限验证,验证某个已认证的用户是否拥有某个权限; Session Manager :会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中; Cryptography :加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储; 3.shiro结构 3.1shiro外部结构 Subject :主体 SecurityManager :安全管理器 Realm :域 流程: 1、应用代码通过Subject来进行认证和授权,而Subject又委托给SecurityManager; 2、我们需要给Shiro的SecurityManager注入Realm,从而让SecurityManager能得到合法的用户及其 权限进行判断。 3.1shiro内部结构 Subject :主体 SecurityManager :相当于SpringMVC中的DispatcherServlet,它管理着所有Subject、且负责进行认证和授权、及会话