public static void InitAuthorizeData(this IApplicationBuilder application) { Task.Run(() => { //1分钟后发个事件消息 Thread.Sleep(60 * 1000); IEventBus eventBus = EngineContext.Current.Resolve <IEventBus>(); if (eventBus == null) { return; } IGirvsAuthorizePermissionService permissionService = new GirvsAuthorizePermissionService(); var authorizeEvent = new AuthorizeEvent() { AuthorizePermissions = permissionService.GetAuthorizePermissionList().Result, AuthorizeDataRules = permissionService.GetAuthorizeDataRuleList().Result }; //由于此处是在程序启动时就会发送此消息,所以没有请求头等,自动构建消息。 var customHeader = new Dictionary <string, string> { { ClaimTypes.Sid, "58205e0e-1552-4282-bedc-a92d0afb37df" }, { ClaimTypes.GroupSid, Guid.Empty.ToString() }, { ClaimTypes.Name, "系统管理员" }, { ClaimTypes.GivenName, "系统管理员" } }; // Task.Run() //需要重新设置身份认证头 EngineContext.Current.ClaimManager.CapEventBusReSetClaim(new CapHeader(customHeader)); eventBus.PublishAsync(authorizeEvent).Wait(); }); }
public async Task InitAuthorization() { IEventBus eventBus = EngineContext.Current.Resolve <IEventBus>(); if (eventBus != null) { IGirvsAuthorizePermissionService permissionService = new GirvsAuthorizePermissionService(); var authorizePermissionList = permissionService?.GetAuthorizePermissionList().Result; var authorizeDataRules = permissionService?.GetAuthorizeDataRuleList().Result; var authorizeEvent = new AuthorizeEvent() { AuthorizePermissions = authorizePermissionList, AuthorizeDataRules = authorizeDataRules }; await eventBus.PublishAsync(authorizeEvent); } }