.net FrameWork WebAPI 如何添加保护接口,授权服务器是.net Core 的IdentityServer4 ,并且对signalr进行保护
来源:互联网 发布:淘宝上2手奢侈品包包 编辑:程序博客网 时间:2024/05/16 19:19
目前.net FrameWork WebAPI 仅支持到IdentityServer3,但是授权服务器是.net Core 的IdentityServer4 ,这时候对webapi 进行保护可能会出现一些问题,
首先我们在webApi中引用IdentityServer3,我这里把我所有的引用都帖进来
using Microsoft.Owin;using Owin;using Microsoft.Owin.Cors;using IdentityServer3.AccessTokenValidation;using System.Web.Http;
app.UseCors(CorsOptions.AllowAll);//跨域访问 app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions { Authority = "http://192.168.1.223", RequiredScopes = new[] { "openid" } }); //configure web api var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Filters.Add(new AuthorizeAttribute()); app.UseWebApi(config);在global.asax中注释掉原有的配置
AreaRegistration.RegisterAllAreas(); //GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); Database.SetInitializer<DataModel>(null);
接下来就是对signalr 进行保护
添加[Authorize]
[HubName("messageHub")] [Authorize] public class MessageHub : Hub
然后客户端在连接Signalr的时候写如下代码
var con = $.hubConnection("http://localhost:50839", { qs: { "userId": userId } }); $.signalR.ajaxDefaults.headers = { Authorization: "Bearer " + "token" }; var hub = con.createHubProxy("messageHub"); hub.on('getMessage', function (messagePush) { console.log(messagePush); console.log(messagePush.Body); $('#vote').val(JSON.stringify(messagePush)); }); con.start().done(function () { $('#vote').click(function () { hub.invoke("SendBroadMessage", Math.random()) }); });
阅读全文
0 0
- .net FrameWork WebAPI 如何添加保护接口,授权服务器是.net Core 的IdentityServer4 ,并且对signalr进行保护
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
- 如何对颈椎进行保护.
- 如何保护我们的.NET程序集?
- 如何保护.net 开发的源程序
- 如何保护 .NET 应用的安全?
- 如何通过代码加密对服务器安全进行保护?
- .NET代码的保护
- 使用 .NET Framework 的 Cryptography 命名空间保护私有数据
- 使用 .NET Framework 的 Cryptography 命名空间保护私有数据
- android系统如何存储保密数据和保护WEBAPI接口
- .Net加密锁(对.NET加密保护)
- .Net加密锁(对.NET加密保护)
- ASP.NET WEBAPI 的身份验证和授权
- .net 程序的的保护是个大问题!
- ASP.Net中保护自定义的服务器控件
- 如何对项目进行过载保护
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之添加实体
- 堆栈、堆
- Java集合框架上机练习题
- 挖地雷
- UI设计
- Android 如何签名
- .net FrameWork WebAPI 如何添加保护接口,授权服务器是.net Core 的IdentityServer4 ,并且对signalr进行保护
- SSH框架搭建-Myeclipse
- 嵌入式开发,走向AR
- 数据结构-单链表实现栈
- MySQL 5.7初始化
- 年终盘点丨2017人工智能十大关键词,收购、政策、场景创新上榜
- Web开发 项目 前后端分离 接口域名地址 优化
- 三分钟了解OWASP TOP 10 2017 RC2
- CentOS 7.0关闭默认防火墙启用iptables防火墙