token

.Net Core WebApi 2.0使用Oauth2 + IdentityServer4进行身份认证

我是研究僧i 提交于 2019-12-26 19:37:06
直接上代码,该说明的我都把注释写在代码中了 逻辑图如下: 一、创建WebApi(用于IdentityServer4发送token和验证token)(IdentityServerSolution) 1.nuget安装identityServer4(最新版必须是.net core3.0才可以,我是2.0,所以装不了最新版的): Install-Package IdentityServer4 -version 2.5.4 2.创建Config类:配置资源和客户端(家里哪些东西可以被访问,以及客户端得满足什么条件才可以访问) using IdentityServer4.Models; using System.Collections.Generic; namespace IdentityServerSolution { public class Config { /// <summary> /// 允许访问哪些Api(就像我允许我家里的哪些东西可以让顾客访问使用,如桌子,椅子等等) CreateDate:2019-12-26 14:08:29;Author:Ling_bug /// </summary> /// <returns></returns> public static IEnumerable<ApiResource> GetApiResources() { return new[

asp.net core 2.0 web api基于JWT自定义策略授权

天大地大妈咪最大 提交于 2019-12-26 17:39:46
JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明, 这篇博文,主要说明在asp.net core 2.0中,基于jwt的web api的权限设置,即在asp.net core中怎么用JWT,再次就是不同用户或角色因为权限问题,即使援用Token,也不能访问不该访问的资源。 基本思路是我们自定义一个策略,来验证用户,和验证用户授权,PermissionRequirement是验证传输授权的参数。在Startup的ConfigureServices注入验证(Authentication),授权(Authorization),和JWT(JwtBearer) 自定义策略: 已封闭成AuthorizeRolicy.JWT nuget包,并发布到nuget上: https://www.nuget.org/packages/AuthorizePolicy.JWT/ 源码如下: JwtToken.cs /// <summary> /// 获取基于JWT的Token /// </summary> /// <param name="username"></param>

.NET Core微服务之基于IdentityServer建立授权与验证服务

被刻印的时光 ゝ 提交于 2019-12-26 17:26:38
Tip: 此篇已加入 .NET Core微服务基础系列文章索引 一、IdentityServer的预备知识   要学习IdentityServer,事先得了解一下基于Token的验证体系,这是一个庞大的主题,涉及到Token,OAuth&OpenID,JWT,协议规范等等等等,园子里已经有很多介绍的文章了,个人觉得solenovex的这一篇文章《 学习IdentityServer4的预备知识 》言简意赅,可以快速的看看。另外savaboard的《 ASP.NET Core 之 Identity 入门(一) 》和《 ASP.NET Core 之 Identity 入门(二) 》这两篇也可以一看,对Claims和Identity的基本知识讲的比较通俗易懂,深入浅出,有故事情节,哈哈。   重点关注一下上面这张图(也是来自solenovex的文章),对于一个User(已注册)来说,他会首先向Authorization Server表明自己的身份(比如输入用户名和密码),然后Authorization Server为其发放了一个token,而这个token就好比是把家里的钥匙配了一把(clone)新的,此后该User就可以访问API请求获取Orders(订单)数据了。当然,实际中可能Authorization Server和API Server不在同一个区域内,它们可能只能遥望对方。此外

.NET Core微服务之基于IdentityServer建立授权与验证服务(续)

只愿长相守 提交于 2019-12-26 17:26:28
Tip: 此篇已加入 .NET Core微服务基础系列文章索引 上一篇 我们基于IdentityServer4建立了一个AuthorizationServer,并且继承了QuickStartUI,能够成功获取Token了。这一篇我们了解下如何集成API Service和MVC Web Application。 一、集成API Service 1.1 添加ASP.NET Core WebAPI项目   新建两个WebAPI程序,假设这里取名为ApiService01(占用端口5010)和ApiService02(占用端口5020)。      为了方便快速启动,可以继续在launchSettings.json中删掉关于IISExpress的部分,由于是WebAPI,所以也不需要启动浏览器(将其设为false): { "profiles": { "Manulife.DNC.MSAD.IdentityServer4Test.ApiService01": { "commandName": "Project", "launchBrowser": false, "launchUrl": "api/values", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl":

springboot+security+jwt+mysql 动态权限 利用拦截器+token实现一个账号不能多人同时登陆

笑着哭i 提交于 2019-12-26 17:07:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、数据库 二、controller package cn.**.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @ProjectName: springbootSecurity * @Package: cn.cn.***.security.controller * @Author: huat * @Date: 2019/12/12 14:56 * @Version: 1.0 */ @RestController public class UserController { @RequestMapping("/index") public String login(){ return "index"; }

微信分享网页之自定义标题、描述、访问连接和图片(亲测通过)

核能气质少年 提交于 2019-12-26 16:27:40
个人亲测通过 用微信打开一个网页,选择右上角的“发送给朋友”后,收到的消息是这样的: 而为了推广效果,我们更希望能自定义标题、描述、访问连接和图片,效果如下图: 下面介绍下怎样来实现这个功能 准备工作 需要一个认证的微信公众号,一定要确定认证 在登录微信公众平台https://mp.weixin.qq.com 在公众号设置–>功能设置,填写设置Js接口安全域名 Js安全域名是需要把微信提供的文件,放在指定域名或者目录下面可以访问的。 1,引用js jquery-1.8.3.min.js https://res.wx.qq.com/open/js/jweixin-1.0.0.js 注意,如果自己的域名模式是https模式,要使用https模式,不然会出现mixed content block,微信js不会执行 JS-sdk中的方法要在获取signature之后再执行,不然有可能会执行错误等,同时分享的调用要在wx.ready方法体里面执行,即微信配置都okay的情况下在执行。 2,页面添加js代码 <script type="application/javascript"> var wxParam = { title: "title",// 分享标题(自行修改) desc: 'desc', // 分享描述(自行修改) link: 'link', // 分享链接

关于微信开发

痴心易碎 提交于 2019-12-26 08:59:50
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 什么是微信openid? 某个微信账号,针对某个公众号,的唯一标示,而且不变;针对不同的公众号会有不同的openid; openid有什么用? 用来获取用户基本信息,头像、昵称、性别、地区等 *昵称带ios图标的需要urlencode转码保存入数据库,转码出来才能显示,不然会出现字符不能识别,昵称空白乱码 **************************************************************************************************************************************** 一、关于微信开发 涉及到微信开发的,基本都是获取openid来确定用户的唯一性(用户的唯一id);剩下的只是看需求处理; 例如,如何微信登陆?数据库保存openid,通过获取openid和数据库的openid做匹配,也可以写进cookie,不需要每次都通过微信获取openid; 那么如何获取openid? 首先需要AppID(应用ID)和AppSecret(应用密钥),在微信后台可以获取,因为所有调用微信端的方法都需要用到 AppID(应用ID) xxxxxxxxxxxxxxxxxxx AppSecret(应用密钥)

C++解析命令行参数(仿C语言args)

萝らか妹 提交于 2019-12-26 03:07:08
说好不造轮子的,就管不住这手 #include <cstdio> #include <string> #include <vector> bool ParseChar( const std::string& buf, std::size_t& pos, char& ch, bool& escape ) { char c; if ( pos == buf.length() ) return false; // Get the character to parse c = buf.at( pos++ ); if ( c == '\\' ) { // Parse the escape character if ( pos != buf.length() ) { // Get the character to escape c = buf.at( pos++ ); if ( c == '\\' || c == '"' ) { ch = c; escape = true; } else { // Does not support the character, just hold the '\\' character // We need move the POS back to prepare for the character parsing pos--; ch = '\\';

shiro android

天大地大妈咪最大 提交于 2019-12-26 02:35:42
shiro 实现自定义权限规则校验 时间 2014-07-10 15:37:17 CSDN博客 原文 http://blog.csdn.net/cml_blog/article/details/37657217 主题 Android Java <span style="font-family: Arial, Helvetica, sans-serif;">在系统中使用shiro进行权限管理,当用户访问没有权限的资源时会跳转到指定的登录url。</span> 但是如果系统中支持手机app,手机访问时没有使用session进行登录凭证管理,而是使用token,有两种解决方法: 1:支持手机客户端访问的资源在权限配置中配置成anon 2:实现自定义认证拦截器,对用户请求资源进行认证 显然第一种方法不适用,这些资源应该只能让我们自己的app进行访问。 第二中实现方式: <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager" /> <!-- 登录的页面 --> <property name="loginUrl" value="/login/login.jsp" />

tokens and delims expert help needed

限于喜欢 提交于 2019-12-25 19:39:53
问题 I have been using batch a lot lately to great ends in my work and also little bits of power shell here and there to great effect. One thing that always baffles me is the tokens and delims concepts when working through loop etc. I have watched you tube videos and read the classic rob van pages on it. I kind of get it, but when I need to use it's not basic. I have an example cropped up where if some one was kind enough to explain how you choose the number of tokens and delims it would be really