JDK14 中文 API文档
JDK14 中文 API文档
dll动态链接库和c++依赖库缺失修复工具
解决系统dll动态链接库或者c++依赖库缺失, 解决Mysql因缺少系统依赖库导致的安装失败问题......
winfrom 获取当前系统中被激活的窗口GetForegroundWindow
winfrom 获取当前系统中被激活的窗口GetForegroundWindow
Winfrom 图片裁剪 圆形头像
Winfrom 图片裁剪 圆形头像
winform 图片压缩
winform 图片压缩
winform 改变图片透明度
winform 改变图片透明度
Winform 无边框窗体
Winform 无边框窗体
winform 仿web 滑块验证
winform 仿web 滑块验证
WinFormSvgApplyDemo
svg矢量图的使用,将svg矢量图展示在pictureBox上,拖动可以应用到其他设计软件上
完全跨域SSO
这个仅仅是体现SSO思想的实现,个人认为并不是特别标准的SSO。接下来会写一个标准的SSO
标准简单的Form认证
这个Form认证很标准,不涉及任何公司业务逻辑,仅仅是Form认证框架所需要的东东介绍。
跨子域单点登录Demo
跨子域单点登录。ASP.NET身份验证信息跨域共享状态,身份验证信息存储在cooKie中
webapiDemo
本项目设计的知识点:
1、跨域。我们使用的是自定义的跨域。也可以使用微软提供的Cors
2、认证。我使用的是Auth2.0客户端模式。网上有很多关于Auth2.0的教程。如果你按照教程配置好了还没有起作用。你需要注意的是:
(1)资源服务器和认证服务器的配置文件里面加上machineKey,其实machineKey主要为了负载均衡使用的。我们这里提一句machineKey能够被ASP.NET的识别,会影响项目中的加密解密。所以认证服务器生成token的时候会受到machineKey影响,所以资源服务器也要加上一样的machineKey。如果我们不加上machineKey,那么不同的服务器默认的machineKey就不一样了。
<system.web>
<machineKey validationKey="2342341C2A31FEAA6EBC42D97265490A1309CF6434960699FD4EFD040E5B96B92E06F07024E5B1696CBD9635DAD047E3C0FE58F7B4662D87DADFA51" decryptionKey="34242342388388627D723CB53C9542863F0B286A6482709BA7E141" validation="SHA1" decryption="AES" />
</system.web>
(2)资源服务器中加入了自定义的Startup.cs启动类,但是程序并没有走这个程序,其中一个原因是缺少Microsoft.Owin.Host.SystemWeb.dll
3、webapi传参类型和接收参数的方法。我们这里使用ModelBinder
Auth2.0授权码模式
从流程上看申请分为两个阶段:首先需要申请Authorization Code;之后使用Authorization Code来申请Access Token。
OAuth2.0 密码模式实现
在服务端,基于 Owin OAuth, 针对 Resource Owner Password Credentials Grant 的授权方式,只需重载 OAuthAuthorizationServerProvider.GrantResourceOwnerCredentials() 方法即可
OWIN实现OAuth 2.0 之客户端模式(Client Credential)
把自己的理解加上吧。
认证服务生成token时可以加一个节点machineKey,这样资源服务也需要加一个machineKey才能识别该token。那么我不加这个machineKey就不能生成token?不能访问资源服务吗?当然不是,machineKey节点是可选的,即便是不加machineKey也会产生token,也能够被资源服务识别。但是会存在一个安全问题:比方说Token1是加了配置节点生成的,Token2是不加machineKey生成的;测试证明,我们使用Token1访问资源服务2是能够访问的,而Token2访问资源服务1则不能访问。换句话说,如果你的项目使用OWIN实现OAuth 2.0 之客户端模式,但是没有配置machineKey,也没有在认证服务中自定义认证。那么我就可以利用OWIN实现OAuth 2.0 之客户端模式的基本原理生成一个token,你会发现我这个token居然能够访问你们公司的资源服务。所以如果我们使用OWIN实现OAuth 2.0 之客户端模式,尽量保证两点:
(1)增加machineKey配置,这个可以理解为token的秘钥。
(2)在认证服务中添加自定义的认证。
3、认证服务和资源服务需要启动或者直接建立成站点启动,才可以被客户端访问到。
使用SharpZipLib压缩解压缩
使用SharpZipLib压缩解压缩,项目中的SharpZipLib.dll可以在https://download.csdn.net/download/u011392711/10827835下载
SharpZipLib.dll压缩解压缩
SharpZipLib是一个完全用c#为. net平台编写的Zip、GZip、Tar和BZip2库。具体使用可以参考我的博客https://www.cnblogs.com/qtiger/p/10063283.html