上一篇文章我们介绍了Asp.net core中身份验证的相关内容,并通过下图描述了身份验证及授权的流程: 注:改流程图进行过修改,第三方用户名密码登陆后并不是直接获得code/id_token/access_token,而是登录后可以访问identityServer中受保护的资源(Authorize Endpoint),通过发起身份验证请求来实现授权码流程.隐式流程及混合流程来完成token的获取,它与直接通过用户名密码来获取token的Oauth2.0 Password GrantType方式…
OpenIDConnect是一个身份验证服务,而Oauth2.0是一个授权框架,在前面几篇文章里通过IdentityServer4实现了基于Oauth2.0的客户端证书(Client_Credentials).用户名密码(Password)的授权流程,同时也实现OpenIDConnect的授权码(Authorization Code).隐式流程(Implicit)的身份验证. ???啥?一会儿是授权一会儿是身份验证,身份验证与授权傻傻分不清楚??本文就来聊一聊Asp.net core中的身份验证…
从零搭建一个IdentityServer--项目搭建 从零搭建一个IdentityServer--集成Asp.net core Identity 从零搭建一个IdentityServer--初识OpenIDConnect 从零搭建一个IdentityServer--聊聊Asp.net core中的身份验证与授权 从零搭建一个IdentityServer--IdentityServer与单页应用(更新ing...)…
在上一篇文章中我们介绍了单页应用是如何使用IdentityServer完成身份验证的,并且在讲到静默登录以及会话监听的时候都提到会话(Session)这一概念,会话指的是用户与系统之间交互过程,反过来说就是用户与系统之间交互的状态就保存在会话(Session)中,对于HTTP协议来说,由于它本身是无状态的,所以为了能够记录用户访问系统的状态,一般使用Cookie来存放会话信息.但是现在我们需要保存的是与IdentityServer之间的会话,对于单页应用来说它一般会存在跨域问题,那Identit…
IdentityServer作为授权服务器它的最终目的是用于对资源进行管控,这里所说的资源有两种,其一是API资源,实际上也就是OIDC协议中客户端(RP)所需要访问的一系列受保护的资源(API),授权服务器通过对终端用户完成身份验证后发放相应Token,然后可以使用Token来完成受保护资源的访问. 另外就是对用户资源进行管控,简单来说就是授权服务器存储了用户相关信息,客户端应用无需也无权来管理,如有需要可以通过授权服务器获取,这样的好处就是将用户信息统一管理,可以保证用户数据一致性.安全性也…
本篇文章是基于ASP.NET CORE 5.0以及IdentityServer4的IdentityServer搭建,为什么要从零搭建呢?IdentityServer4本身就有很多模板可以直接生成一个可以运行的验证服务程序,是因为在真实开发过程中很难直接用生成的模板来进行开发,其次是通过生成的方式开发者本身可能会对某些技术细节有所忽略.   本文从以下几个方面来完成IdentityServer项目搭建: 创建一个空的Asp.net Core 5.0项目 添加IdentityServer4 Iden…
上一篇文章实现了IdentityServer4与Asp.net core Identity的集成,可以使用通过identity注册功能添加的用户,以Password的方式获取Access token,但是无论是Client Credentials还是Password流程它都是OAuth2.0的流程,本篇文章就来先介绍一下关于OpenIDConnect的基本概念和用法. 本文有以下内容: OpenIDConnect介绍及基本概念 OIDC授权码流程及实现 OIDC隐式流程及实现 小结 OpenID…
前面的文章使用Asp.net core 5.0以及IdentityServer4搭建了一个基础的验证服务器,并实现了基于客户端证书的Oauth2.0授权流程,以及通过access token访问被保护资源,本文将继续完善IdentityServer实现与Identity组件的集成,可使用Identity的用户来完成授权. 集成Asp.net core Identity与元包(MetaPackage) Asp.net core Identity数据持久化 Asp.net core Identity…
从零搭建一个SpringCloud项目之Feign搭建 工程简述 目的:实现trade服务通过feign调用user服务的功能.因为trade服务会用到user里的一些类和接口,所以抽出了其他服务需要的东西到user-api工程.避免trade直接依赖user导致依赖多余的东西. 一.创建User接口工程user-api 新建一个module,取名为study-user-api 引入pom文件 <dependencies> <dependency> <groupId>o…
单页应用 - Token 验证 转:https://juejin.im/post/58da720b570c350058ecd40f 第一次接触单页应用,记录公司项目关于Token验证知识. Token的工作原理 Token工作原理 1. 登录时候,客户端通过用户名与密码请求登录 2. 服务端收到请求区验证用户名与密码 3. 验证通过,服务端会签发一个Token,再把这个Token发给客户端. 4. 客户端收到Token,存储到本地,如Cookie,SessionStorage,LocalStor…
webapi框架搭建系列博客 身份验证(authentication)的责任是识别出http请求者的身份,除此之外尽量不要管其它的事.webapi的authentication我用authentication filter技术去解决. 参考资料: https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-filters 步骤如下 创建authentication filter 在项目里新建文件…
一.需要了解的基本知识 node.js Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好.V8引擎执行Javascript的速度非常快,性能非常好. Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱…
其实关于SharePoint 2013 表单身份验证网上已经有很多了,比如SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用  和 Configuring Forms Based Authentication in SharePoint 2013这里我为什么还要写这篇blog,因为我是一个比较“懒惰”的人,做任何事情都喜欢用简单的方式.现在来说说主要步骤吧(我一直都在做microsoft平台的东东,所以这里也…
如题,最近做一个项目时,由于页面太长,跳转后在返回又回到初始位置,不利于用户体验,需要每次返回到用户离开该页面是的位置.由于是移动端项目,使用了移动端的套ui框架framework7,本身框架的机制是支持返回原始位置的,但是由于涉及到权限及安全等方面的问题,没有采用framework7的路由机制,所以这个就必须自己写了. 我的想法是给每个页面一个data-page属性用于保存这个页面的名字,然后每次在页面卸载即离开的时候获取滚动条的位置,然后将页面的名称做为属性名保存起来,让后将其push到一个…
注:在搭建项目之前,请先安装一些全局的工具(如:node,vue-cli等) node安装:去node官网(https://nodejs.org/en/)下载并安装node即可,安装node以后就可以正常使用npm命令 全局安装vue-cli工具:npm install vue-cli -g 开始创建项目: 找一个合适的位置,打开命令窗口,使用vue初始化基于webpack的新项目 vue init webpack vue-demo //注意名称太长的话它会有错误提示,就像VueDemo 我们可…
1.npm Init 2.创建webpack.config.js文件,并配置入口和出口 3.Package.json的script中配置命令对应的操作 .安装webpack-dev-server 模块npm install webpack-dev-server -g .需要安装webpack 模块npm install webpack -g 6.需要安装webpack-cli 模块,输入命令npm install webpack-cli -g .需要安装start-webpack-dev-ser…
前言 自己在搭建redis服务的时候碰到一些问题,好多人只告诉你怎么成功搭建,但是并没有整理过程中遇到的问题,所有楼主就花了点时间来整理下. linux环境安装redis 安装中的碰到的问题和解决办法 怎么在代码中使用安装的redis 设置用户名和密码 程序应用中碰到的问题 介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和h…
配置中心 一.配置中心服务端 新建项目study-config-server 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> 加配置文件 server: port: 9100 spring: application: name:…
一.项目链接 GitHub 地址: https://github.com/imxiaoer/ElementUIAdmin 项目演示地址:https://imxiaoer.github.io/ElementUIAdmin/dist/index 二.项目依赖   1. 数据请求      "axios": "^0.18.0", 2. 图表控件    "echarts": "^4.2.0-rc.2", 3. 富文本编辑器   &qu…
spa:single page applcation 1.components目录新建header.vue,footer.vue Header.vue Footer.vue Pages/index.vue修改如下 这里有3个注意点 (1) 必须template开头 (2) 最外层必须要div包括 (3) Component组件的命名和使用也有套路,具体百度…
阅读本文章的时候,你要有一定的基础知识储备,简单的es6知识,模块化思想知识,js基础知识,node基础知识,react等 首先执行npm init,此时我的文件叫case; 下面安装一些需要的npm包: npm install react --save npm install webpack --save-dev 说明一下: --save:是用于生产和上线环境 --save-dev:只用于生产环境,上线后就不需要了 下面打包工具介绍:gulp,browserify,webpack 简单介绍下:…
整合Zuul 为什么要使用Zuul? 易于监控 易于认证 减少客户端与各个微服务之间的交互次数 引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> 配置文件 开启注解 启动类上加@EnableZuulProxy 备注:…
爱编程爱分享,原创文章,转载请注明出处,谢谢!http://www.cnblogs.com/fozero/p/6185492.html 一.介绍 vue.js 是 目前 最火的前端框架,vue.js 兼具 angular.js 和 react.js 的优点,并剔除它们的缺点 并且提供了很多的周边配套工具 如vue-router .vue-resource .vuex等等   通过他们我们可以很轻松的构建一个大型单页应用 目前Vue版本为Vue2.0  官网地址http://vuejs.org.c…
1.目标 最近项目上的事情不多,根据我自己的开发习惯,决定开发一些简单的开发架子,方便以后事情多的时候直接套用.本文讲的一个gulp+webpack+vue的单页应用架子,想要达到的目的: 可以通过命令打包开发chunk,并支持热替换 可以通过命令打包可发布的chunk 支持路由 路由中的代码实现按需加载 用CommonJs的风格组织代码 代码结构尽量清晰易懂 尽我所能先做出一个满足以上特点的架子吧,最近看完ES6,准备再去看看flux和reduce,看过之后再来思考下前端数据如何管理比较科学规…
关于项目 项目地址 预览地址 记录最近做的一个 demo,前端使用 React,用 React Router 实现前端路由,Koa 2 搭建 API Server, 最后通过 Nginx 做请求转发. 文章列表 第一篇:React + Node 单页应用「一」前端搭建 React + Node 单页应用「二」OAuth 2.0 授权认证 & GitHub 授权实践 这是第二篇,介绍下 OAuth 2.0 授权机制,以及 Github App 授权过程,通过获取授权使用 Github API. O…
基本 构建工具: webpack 语言: ES6 分号:行首分号规则(行尾不加分好, [ , ( , / , + , - 开头时在行首加分号) 配套设施: webpack 全家桶, vue 全家桶 项目结构 基本目录结构 api :封装与后端接口交互的操作 common :放置一些 reset.css 之类的 components :组件 entry :项目入口文件 index.js,index.css,index.html filters :过滤器.注:虽然 vue2.0 已经基本废弃(只保留…
​  前言  本文介绍了classdataset的几个要点,由哪些部分组成,每个部分需要完成哪些事情,如何进行数据增强,如何实现自己设计的数据增强.然后,介绍了分布式训练的数据加载方式,数据读取的整个流程,当面对超大数据集时,内存不足的改进思路. 本文延续了以往的写作态度和风格,即便是自己知道的内容,也仍然在写之前看了很多的文章来保证内容的正确性和全面性,因此写得极累,耗费时间较长.若有读者看完后觉得有所帮助,文末可以赞赏一点. 文末扫描二维码关注公众号CV技术指南 ,专注于计算机视觉的技术总结…
1.开始 随着前端工程化深入研究,前端工程师现在碉堡了,甚至搞了个自己的前端网站http://div.io/需要邀请码才能注册,不过里面的技术确实牛.距离顶级的前端架构,目前博主应该是far away,幸运的是现在有很多前端大神积极的分享自己的经验,比如百度这位https://github.com/fouber/blog/issues/4. 将iframe项目使用多页HTML与FIS重构以后,前端已经得到了极大的优化,然而多页HTML带来的状态丢失(登录信息,菜单信息),仍然对优化造成阻碍. 单…
单页应用Scrat实践 1.开始 随着前端工程化深入研究,前端工程师现在碉堡了,甚至搞了个自己的前端网站http://div.io/需要邀请码才能注册,不过里面的技术确实牛.距离顶级的前端架构,目前博主应该是far away,幸运的是现在有很多前端大神积极的分享自己的经验,比如百度这位https://github.com/fouber/blog/issues/4. 将iframe项目使用多页HTML与FIS重构以后,前端已经得到了极大的优化,然而多页HTML带来的状态丢失(登录信息,菜单信息),…
1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎不够系统,所以萌生了从零搭建一个后端脚手架的想法.并把这个过程中的细节思路和之前的一些文章结合起来展现给大家,希望能够实实在在帮助学习Spring Boot的同学,当然能力有限如果有不足之处还请多多指教. 2. 面向的群体 首先,这个定位不是完全没有接触过Spring Boot的初学者,因为Spri…