public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context_) { context_.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); var user = await _repository.FindUser(context_.UserName, context_.Password); if (user == null) { context_.SetError("invalid_grant", "O usuario ou senha estao incorretos"); return; } var identity = await _repository.CreateIdentityAsync(user, context_.Options.AuthenticationType); identity.AddClaims(ExtendedClaimsProvider.GetClaims(user)); var ticket = new AuthenticationTicket(identity, AuthUtil.GetProperties(user, identity.Claims)); context_.Validated(ticket); }
/// <summary> /// 加载当前登录用户可访问的一个部门及子部门全部用户 /// </summary> public TableData Load(QueryUserListReq request) { var loginUser = AuthUtil.GetCurrentUser(); // 节点层次ID,如 【集团总部】为【.0.1.】 // 【研发部】为【.0.1.3.】,子节点【研发小组】为【.0.1.3.1.】 string cascadeId = ".0."; if (!string.IsNullOrEmpty(request.orgId)) { var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId); cascadeId = org.CascadeId; } // 用户所属部门ID数组 var ids = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray(); // 与此用户同部门的所有用户的ID var userIds = ReleManagerApp.Get(Define.USERORG, false, ids); var users = UnitWork.Find <User>(u => userIds.Contains(u.Id)) .OrderBy(u => u.Name) .Skip((request.page - 1) * request.limit) .Take(request.limit); // Repository 为父类【BaseApp<User>】中的属性 var records = Repository.GetCount(u => userIds.Contains(u.Id)); var userviews = new List <UserView>(); foreach (var user in users.ToList()) { UserView uv = user; var orgs = LoadByUser(user.Id); uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList()); uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList()); userviews.Add(uv); } return(new TableData { count = records, data = userviews, }); }
public Dictionary <string, List <Requisition> > GetAllPendingOrdersOfDepartment() { Dictionary <string, List <Requisition> > reqOrderDict = new Dictionary <string, List <Requisition> >(); Employee user = AuthUtil.GetCurrentLoggedUser(); if (user == null) { reqOrderDict.Add("reqList", new List <Requisition>()); } else { List <Requisition> requisitions = RequisitionDAO.GetAllPendingOrderReqs((int)user.DeptId); reqOrderDict.Add("reqList", requisitions); } return(reqOrderDict); }
/// <summary> /// 用户自助注册 /// </summary> public ActionResult Login4Registration() { try { var result = AuthUtil.Login(_appKey, "guest", "123456"); if (result.Success) { return(Redirect("/Login/UserRegister?Token=" + result.Token)); } else { return(RedirectToAction("Index", "Login")); } } catch (Exception e) { return(RedirectToAction("Index", "Login")); } }
protected string actionName; //当前Action小写名称 protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); if (!AuthUtil.CheckLogin()) { return; } controllerName = Request.RequestContext.RouteData.Values["controller"].ToString().ToLower(); //获取当前控制器名称 actionName = filterContext.ActionDescriptor.ActionName.ToLower(); //获取action名称 var function = this.GetType().GetMethods().FirstOrDefault(u => u.Name.ToLower() == actionName); if (function == null) { throw new Exception("未能找到Action"); } //权限验证标识 var authorize = function.GetCustomAttribute(typeof(AuthenticateAttribute)); if (authorize == null) { return; } var currentModule = AuthUtil.GetCurrentUser().Modules.FirstOrDefault(u => u.Url.ToLower().Contains(controllerName)); //当前登录用户没有Action记录&&Action有authenticate标识 if (currentModule == null) { filterContext.Result = new RedirectResult("/Login/Index"); return; } var version = ConfigurationManager.AppSettings["version"]; if (version == "demo" && Request.HttpMethod == "POST") { throw new HttpException(400, "演示版本,不能进行该操作,当前模块:" + controllerName + "/" + actionName); } }
/// <summary> /// 开发者登陆 /// </summary> public ActionResult LoginByDev() { try { var result = AuthUtil.Login(_appKey, "System", "123456"); if (result.Success) { return(Redirect("/home/index?Token=" + result.Token)); } else { return(RedirectToAction("Index", "Login")); } } catch (Exception e) { return(RedirectToAction("Index", "Login")); } }
/// <summary> /// 开发者登陆 /// </summary> public ActionResult LoginByDev() { try { var token = AuthUtil.Login("670b14728ad9902aecba32e22fa4f6bd", "System", "123456"); if (!string.IsNullOrEmpty(token)) { return(Redirect("/home/index?Token=" + token)); } else { return(RedirectToAction("Index", "Login")); } } catch (Exception e) { return(RedirectToAction("Index", "Login")); } }
public ActionResult MyOrders() { string result = ""; if (CurrentModule != null) { User usr = AuthUtil.GetCurrentUser().User; if (usr != null) { string tmp = _app.GetCustID_NameByUserAcct(usr.Account); if (tmp != "") { result = tmp.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries)[0]; } } ViewData["CustomerID"] = result; } return(View()); }
public ActionResult Index(string username, string password) { var result = AuthUtil.Login(_appKey, username, password); if (result.Code == 200) { var cookie = new HttpCookie("Token", result.Token) { Expires = DateTime.Now.AddDays(10) }; Response.Cookies.Add(cookie); return(Redirect("/home/index")); ///拿掉地址栏Token,因为特别不安全。 ///小王,xxx系统的地址是多少。。。然后账号就 } else { return(View(result)); } }
public Dictionary <string, object> GetDelegateInfoOfDepartment() { Dictionary <string, object> resDict = new Dictionary <string, object>(); Employee user = AuthUtil.GetCurrentLoggedUser(); if (user == null) { resDict.Add("auth", false); return(resDict); } resDict.Add("auth", true); Models.Delegate del = DelegateDAO.GetDelegateInfoByDeptId((int)user.DeptId); resDict.Add("delegated", (del != null)); resDict.Add("userInfo", del); return(resDict); }
static void Main(string[] args) { Console.WriteLine("Welcome to the Password Manager!!! Version: 1.0"); try { if (!context.Auths.Any()) { Console.WriteLine("Please, create a new auth account"); AuthUtil.CreateAuth(authController); } //var context = new DataContext(); Menu(); } catch (Exception exception) { Console.WriteLine($"An error has ocurred: {exception.Message}"); Menu(); } }
/// <summary> /// 加载当前登录用户可访问的一个部门及子部门全部角色 /// </summary> public TableData Load(QueryRoleListReq request) { var loginUser = AuthUtil.GetCurrentUser(); string cascadeId = ".0."; if (!string.IsNullOrEmpty(request.orgId)) { var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId); cascadeId = org.CascadeId; } var ids = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray(); var roleIds = ReleManagerApp.Get(Define.ROLEORG, false, ids); var roles = UnitWork.Find <Role>(u => roleIds.Contains(u.Id)) .OrderBy(u => u.Name) .Skip((request.page - 1) * request.limit) .Take(request.limit); var records = Repository.GetCount(u => roleIds.Contains(u.Id)); var roleViews = new List <RoleView>(); foreach (var role in roles) { RoleView uv = role; var orgs = LoadByRole(role.Id); uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList()); uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList()); roleViews.Add(uv); } return(new TableData { count = records, data = roleViews, }); }
/// <summary> /// 加载当前登录用户可访问的一个部门及子部门全部用户 /// </summary> public TableData Load(QueryUserListReq request) { var loginUser = AuthUtil.GetCurrentUser(); string cascadeId = ".0."; if (request.orgId > 0) { var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId); cascadeId = org.CascadeId; } var ids = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray(); var userIds = ReleManagerApp.Get(Define.USERORG, false, ids); var users = UnitWork.Find <Sys_User>(u => userIds.Contains(u.Id)) .OrderBy(u => u.Name) .Skip((request.page - 1) * request.limit) .Take(request.limit); var records = Repository.GetCount(u => userIds.Contains(u.Id)); var userviews = new List <UserView>(); foreach (var user in users.ToList()) { UserView uv = user; var orgs = LoadByUser(user.Id); uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList()); uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList()); userviews.Add(uv); } return(new TableData { count = records, data = userviews, }); }
private void DoTenant(Tenant tenant, BaseNode tenantNode, BaseNode rootNode) { try { var context = tenant.Context as ClientContext; var siteProps = tenant.GetSiteProperties(0, true); context.Load(siteProps); context.ExecuteQuery(); foreach (var site in siteProps) { var websContext = AuthUtil.GetContext(this.AuthenticationType, site.Url, this.Username, this.Password); // Leaving this commented out for now, slows the load down massively //websContext.Web.EnsureProperties(w => w.Title, w => w.Url); // By using a Scoped Web, we can let the iteration continue as normal and rendering can be quick // Because otherwise we need to use Tenant.GetSiteByUrl() and request that each time // Which makes rendering the contents of the tenant VERY slow. BaseNode webNode = new ScopedWebNode(websContext); webNode.Title = site.Title; webNode.Url = site.Url; webNode.ParentNode = tenantNode; webNode.RootNode = rootNode; webNode.NodeConnector = this; if (string.IsNullOrWhiteSpace(webNode.Title)) { webNode.Title = webNode.Url; } tenantNode.Children.Add(webNode); } } catch (Exception ex) { SPCoderLogging.Logger.Error($"Failed to fetch site: {ex.Message}"); } }
public string GetSpecToken(string uid) { var response = new Response(); try { var ouser = ouserManage.Repository.Find(t => t.O_UserID.Equals(uid)).FirstOrDefault(); if (ouser == null) { response.Code = 500; response.Message = "钉钉用户不存在"; return(Infrastructure.Json.ToJson(response)); } var user = userManage.Get(ouser.UserID); var result = AuthUtil.Login(_appKey, user.Name, user.Password); if (result.Code == 200) { var cookie = new HttpCookie("Token", result.Token) { Expires = DateTime.Now.AddDays(10) }; Response.Cookies.Add(cookie); } else { response.Code = 500; response.Message = result.Message; } } catch (Exception ex) { response.Code = 500; response.Message = "错误:" + ex.Message; return(Infrastructure.Json.ToJson(response)); } return(Infrastructure.Json.ToJson(response)); }
static void MenuOption(string option) { try { if (option == "1") { LoginUtil.ListAllLogins(controller); } else if (option == "2") { LoginUtil.FindSpecificLogin(controller, authController); } else if (option == "3") { LoginUtil.CreateNewLogin(controller); } else if (option == "4") { Console.WriteLine("Be careful, the new auth, will be able to see all the passwords!!!"); AuthUtil.CheckIfAuth(authController); AuthUtil.CreateAuth(authController); } else if (option == "5") { Console.WriteLine("Thanks for use the app!!!"); } else { Menu(); } } catch (Exception exception) { Console.WriteLine($"Sorry, an error has ocurred: {exception.Message}"); Menu(); } }
public TableData Load(QueryFlowInstanceListReq request) { //todo:待办/已办/我的 var result = new TableData(); var user = AuthUtil.GetCurrentUser(); if (request.type == "wait") //待办事项 { result.count = UnitWork.Find <FlowInstance>(u => u.MakerList == "1" || u.MakerList.Contains(user.User.Id)).Count(); result.data = UnitWork.Find <FlowInstance>(request.page, request.limit, "CreateDate descending", u => u.MakerList == "1" || u.MakerList.Contains(user.User.Id)).ToList(); } else if (request.type == "disposed") //已办事项(即我参与过的流程) { var instances = UnitWork.Find <FlowInstanceTransitionHistory>(u => u.CreateUserId == user.User.Id) .Select(u => u.InstanceId).Distinct(); var query = from ti in instances join ct in UnitWork.Find <FlowInstance>(null) on ti equals ct.Id into tmp from ct in tmp.DefaultIfEmpty() select ct; result.data = query.OrderByDescending(u => u.CreateDate) .Skip((request.page - 1) * request.limit) .Take(request.limit).ToList(); result.count = instances.Count(); } else //我的流程 { result.count = UnitWork.Find <FlowInstance>(u => u.CreateUserId == user.User.Id).Count(); result.data = UnitWork.Find <FlowInstance>(request.page, request.limit, "CreateDate descending", u => u.CreateUserId == user.User.Id).ToList(); } return(result); }
public static void Seed(this ModelBuilder modelBuilder) { //create admin password var pwd = "01234Admin"; AuthUtil.CreatePasswordHash(pwd, out byte[] passwordHash, out byte[] passwordSalt); //User modelBuilder.Entity <FXUser>() .HasData( new FXUser { Id = 1, Username = "******", CreatedAt = DateTime.Now, Email = "*****@*****.**", Role = UserRoles.Admin, PasswordHash = passwordHash, PasswordSalt = passwordSalt, IsEmailConfirm = true, IsPhoneNumConfirm = true, } );; }
public string Index(string username, string password) { var resp = new Response(); try { var result = AuthUtil.Login(_appKey, username, password); resp.Status = result.Success; if (result.Success) { resp.Result = "/home/index?Token=" + result.Token; } else { resp.Message = "登陆失败"; } } catch (Exception e) { resp.Status = false; resp.Message = e.Message; } return(JsonHelper.Instance.Serialize(resp)); }
static void Main(string[] args) { var password = "******"; var login = "******"; var fullName = " "; var email = " "; var path = " "; Data.ConfigurationService.Init(); var hashPassword = EncryiptionService.GetHashString("password"); /*Пользователь может сохранить информацию о себе: полное имя, почту (проверять на корректность), * путь на аватарку с раширениями png / jpg / jpeg.*/ while (true) { Console.Write("\n1. Зарегистрироваться\n2. Войти\n0. Выход\nВыбор: "); switch (Console.ReadLine()) { case "1": Console.WriteLine("Пожалуйста, введите Логин"); login = Console.ReadLine(); Console.WriteLine("Придумайте пароль:"); password = Console.ReadLine(); Console.WriteLine("Введите полное имя:"); fullName = Console.ReadLine(); Console.WriteLine("Введите email:"); email = Console.ReadLine(); Console.WriteLine("Введите путь к аватарке:"); path = Console.ReadLine(); var profile = new Profile { FullName = fullName, Email = email, PathToAvatar = path }; if (AuthUtil.Registration(login, password, profile) == true) { Console.WriteLine("Вы успешно зарегистрированы!"); } else { Console.WriteLine("Ошибка регистрации! Введены неверные данные, либо пользователь уже зарегистрирован"); } break; case "2": Console.WriteLine("Пожалуйста, введите ваш Логин"); login = Console.ReadLine(); Console.WriteLine("Введите пароль:"); password = Console.ReadLine(); if (AuthUtil.Authorization(login, password) == true) { Console.WriteLine("Вы успешно авторизованы! Для продолжения нажмите любую клавишу"); Console.ReadLine(); } else { Console.WriteLine("Введены неверные данные, повторите попытку"); break; } break; case "0": return; } } }
public MainForm() { InitializeComponent(); authUtil = AuthUtil.getInstance(); requestCore = RequestCore.GetInstance(); }
/// <summary> /// 加载一个节点下面的所有 /// </summary> public dynamic Load(int parentId, int pageindex, int pagesize) { return(_moduleManService.Load(AuthUtil.GetCurrentUser().User.Account, parentId, pageindex, pagesize)); }
public ActionResult Logout() { AuthUtil.Logout(); return(RedirectToAction("Index", "Login")); }
public FlowSchemesController(AuthUtil authUtil, FlowSchemeApp app) : base(authUtil) { _app = app; }
public static async Task <int> Main(string[] args) { CancellationTokenSource tokenSource = new CancellationTokenSource(); var parsedArgs = await Args.ParseAsync <CredentialProviderArgs>(args); var multiLogger = new MultiLogger(); var fileLogger = GetFileLogger(); if (fileLogger != null) { multiLogger.Add(fileLogger); } // Cancellation listener Console.CancelKeyPress += (object sender, ConsoleCancelEventArgs eventArgs) => { // ConsoleCancelEventArgs.Cancel defaults to false which terminates the current process. multiLogger.Verbose(Resources.CancelMessage); tokenSource.Cancel(); }; var authUtil = new AuthUtil(multiLogger); var adalTokenCache = AdalTokenCacheUtils.GetAdalTokenCache(multiLogger); var adalTokenProviderFactory = new VstsAdalTokenProviderFactory(adalTokenCache); var bearerTokenProvidersFactory = new BearerTokenProvidersFactory(multiLogger, adalTokenProviderFactory); var vstsSessionTokenProvider = new VstsSessionTokenFromBearerTokenProvider(authUtil, multiLogger); List <ICredentialProvider> credentialProviders = new List <ICredentialProvider> { new VstsBuildTaskServiceEndpointCredentialProvider(multiLogger), new VstsBuildTaskCredentialProvider(multiLogger), new VstsCredentialProvider(multiLogger, authUtil, bearerTokenProvidersFactory, vstsSessionTokenProvider), }; try { IRequestHandlers requestHandlers = new RequestHandlerCollection { { MessageMethod.GetAuthenticationCredentials, new GetAuthenticationCredentialsRequestHandler(multiLogger, credentialProviders) }, { MessageMethod.GetOperationClaims, new GetOperationClaimsRequestHandler(multiLogger, credentialProviders) }, { MessageMethod.Initialize, new InitializeRequestHandler(multiLogger) }, { MessageMethod.SetLogLevel, new SetLogLevelRequestHandler(multiLogger) }, { MessageMethod.SetCredentials, new SetCredentialsRequestHandler(multiLogger) }, }; // Help if (parsedArgs.Help) { Console.WriteLine(string.Format(Resources.CommandLineArgs, Program.Version, Environment.CommandLine)); Console.WriteLine(ArgUsage.GenerateUsageFromTemplate <CredentialProviderArgs>()); Console.WriteLine( string.Format( Resources.EnvironmentVariableHelp, EnvUtil.LogPathEnvVar, EnvUtil.SessionTokenCacheEnvVar, EnvUtil.AuthorityEnvVar, EnvUtil.AdalFileCacheEnvVar, EnvUtil.PpeHostsEnvVar, EnvUtil.SupportedHostsEnvVar, EnvUtil.SessionTimeEnvVar, EnvUtil.TokenTypeEnvVar, EnvUtil.BuildTaskUriPrefixes, EnvUtil.BuildTaskAccessToken, EnvUtil.BuildTaskExternalEndpoints, EnvUtil.AdalTokenCacheLocation, EnvUtil.SessionTokenCacheLocation, EnvUtil.WindowsIntegratedAuthenticationEnvVar, EnvUtil.DeviceFlowTimeoutEnvVar )); return(0); } // Plug-in mode if (parsedArgs.Plugin) { using (IPlugin plugin = await PluginFactory.CreateFromCurrentProcessAsync(requestHandlers, ConnectionOptions.CreateDefault(), tokenSource.Token).ConfigureAwait(continueOnCapturedContext: false)) { multiLogger.Add(new PluginConnectionLogger(plugin.Connection)); multiLogger.Verbose(Resources.RunningInPlugin); multiLogger.Verbose(string.Format(Resources.CommandLineArgs, Program.Version, Environment.CommandLine)); await RunNuGetPluginsAsync(plugin, multiLogger, TimeSpan.FromMinutes(2), tokenSource.Token).ConfigureAwait(continueOnCapturedContext: false); } return(0); } // Stand-alone mode if (requestHandlers.TryGet(MessageMethod.GetAuthenticationCredentials, out IRequestHandler requestHandler) && requestHandler is GetAuthenticationCredentialsRequestHandler getAuthenticationCredentialsRequestHandler) { multiLogger.Add(new ConsoleLogger()); multiLogger.SetLogLevel(parsedArgs.Verbosity); multiLogger.Verbose(Resources.RunningInStandAlone); multiLogger.Verbose(string.Format(Resources.CommandLineArgs, Program.Version, Environment.CommandLine)); if (parsedArgs.Uri == null) { Console.WriteLine(ArgUsage.GenerateUsageFromTemplate <CredentialProviderArgs>()); return(1); } GetAuthenticationCredentialsRequest request = new GetAuthenticationCredentialsRequest(parsedArgs.Uri, isRetry: parsedArgs.IsRetry, isNonInteractive: parsedArgs.NonInteractive, parsedArgs.CanShowDialog); GetAuthenticationCredentialsResponse response = await getAuthenticationCredentialsRequestHandler.HandleRequestAsync(request).ConfigureAwait(continueOnCapturedContext: false); multiLogger.Info($"{Resources.Username}: {response?.Username}"); multiLogger.Info($"{Resources.Password}: {(parsedArgs.RedactPassword ? Resources.Redacted : response?.Password)}"); return(0); } return(-1); } finally { foreach (ICredentialProvider credentialProvider in credentialProviders) { credentialProvider.Dispose(); } } }
public void PrepareRequest(HttpRequestMessage request) { AuthUtil.AddAuthorizationHeaders(new HttpRequestMessage().Headers, request, _configuration, _accessTokenCredentials); }
public static async Task <int> Main(string[] args) { CancellationTokenSource tokenSource = new CancellationTokenSource(); var parsedArgs = await Args.ParseAsync <CredentialProviderArgs>(args); var multiLogger = new MultiLogger(); var fileLogger = GetFileLogger(); if (fileLogger != null) { multiLogger.Add(fileLogger); } // Cancellation listener Console.CancelKeyPress += (object sender, ConsoleCancelEventArgs eventArgs) => { // ConsoleCancelEventArgs.Cancel defaults to false which terminates the current process. multiLogger.Verbose(Resources.CancelMessage); tokenSource.Cancel(); }; var authUtil = new AuthUtil(multiLogger); var adalTokenCache = AdalTokenCacheUtils.GetAdalTokenCache(multiLogger); var adalTokenProviderFactory = new VstsAdalTokenProviderFactory(adalTokenCache); var bearerTokenProvidersFactory = new BearerTokenProvidersFactory(multiLogger, adalTokenProviderFactory); var vstsSessionTokenProvider = new VstsSessionTokenFromBearerTokenProvider(authUtil, multiLogger); List <ICredentialProvider> credentialProviders = new List <ICredentialProvider> { new VstsBuildTaskServiceEndpointCredentialProvider(multiLogger), new VstsBuildTaskCredentialProvider(multiLogger), new VstsCredentialProvider(multiLogger, authUtil, bearerTokenProvidersFactory, vstsSessionTokenProvider), }; try { IRequestHandlers requestHandlers = new RequestHandlerCollection { { MessageMethod.GetAuthenticationCredentials, new GetAuthenticationCredentialsRequestHandler(multiLogger, credentialProviders) }, { MessageMethod.GetOperationClaims, new GetOperationClaimsRequestHandler(multiLogger, credentialProviders) }, { MessageMethod.Initialize, new InitializeRequestHandler(multiLogger) }, { MessageMethod.SetLogLevel, new SetLogLevelRequestHandler(multiLogger) }, { MessageMethod.SetCredentials, new SetCredentialsRequestHandler(multiLogger) }, }; // Help if (parsedArgs.Help) { Console.WriteLine(string.Format(Resources.CommandLineArgs, Program.Version, Environment.CommandLine)); Console.WriteLine(ArgUsage.GenerateUsageFromTemplate <CredentialProviderArgs>()); Console.WriteLine( string.Format( Resources.EnvironmentVariableHelp, EnvUtil.LogPathEnvVar, EnvUtil.SessionTokenCacheEnvVar, EnvUtil.AuthorityEnvVar, EnvUtil.AdalFileCacheEnvVar, EnvUtil.PpeHostsEnvVar, EnvUtil.SupportedHostsEnvVar, EnvUtil.SessionTimeEnvVar, EnvUtil.TokenTypeEnvVar, EnvUtil.BuildTaskUriPrefixes, EnvUtil.BuildTaskAccessToken, EnvUtil.BuildTaskExternalEndpoints, EnvUtil.AdalTokenCacheLocation, EnvUtil.SessionTokenCacheLocation, EnvUtil.WindowsIntegratedAuthenticationEnvVar, EnvUtil.DeviceFlowTimeoutEnvVar )); return(0); } // Plug-in mode if (parsedArgs.Plugin) { try { using (IPlugin plugin = await PluginFactory.CreateFromCurrentProcessAsync(requestHandlers, ConnectionOptions.CreateDefault(), tokenSource.Token).ConfigureAwait(continueOnCapturedContext: false)) { multiLogger.Add(new PluginConnectionLogger(plugin.Connection)); multiLogger.Verbose(Resources.RunningInPlugin); multiLogger.Verbose(string.Format(Resources.CommandLineArgs, Program.Version, Environment.CommandLine)); await WaitForPluginExitAsync(plugin, multiLogger, TimeSpan.FromMinutes(2)).ConfigureAwait(continueOnCapturedContext: false); } } catch (OperationCanceledException ex) { // When restoring from multiple sources, one of the sources will throw an unhandled TaskCanceledException // if it has been restored successfully from a different source. // This is probably more confusing than interesting to users, but may be helpful in debugging, // so log the exception but not to the console. multiLogger.Log(LogLevel.Verbose, allowOnConsole: false, ex.ToString()); } return(0); } // Stand-alone mode if (requestHandlers.TryGet(MessageMethod.GetAuthenticationCredentials, out IRequestHandler requestHandler) && requestHandler is GetAuthenticationCredentialsRequestHandler getAuthenticationCredentialsRequestHandler) { // When emitting machine-readable output to standard out, logging (including Device Code prompts) must be emitted to standard error if (parsedArgs.OutputFormat == OutputFormat.Json) { multiLogger.Add(new StandardErrorLogger()); } else { multiLogger.Add(new StandardOutputLogger()); } multiLogger.SetLogLevel(parsedArgs.Verbosity); multiLogger.Verbose(Resources.RunningInStandAlone); multiLogger.Verbose(string.Format(Resources.CommandLineArgs, Program.Version, Environment.CommandLine)); if (parsedArgs.Uri == null) { Console.WriteLine(ArgUsage.GenerateUsageFromTemplate <CredentialProviderArgs>()); return(1); } GetAuthenticationCredentialsRequest request = new GetAuthenticationCredentialsRequest(parsedArgs.Uri, isRetry: parsedArgs.IsRetry, isNonInteractive: parsedArgs.NonInteractive, parsedArgs.CanShowDialog); GetAuthenticationCredentialsResponse response = await getAuthenticationCredentialsRequestHandler.HandleRequestAsync(request).ConfigureAwait(continueOnCapturedContext: false); // Fail if credentials are not found if (response?.ResponseCode != MessageResponseCode.Success) { return(2); } string resultUsername = response?.Username; string resultPassword = parsedArgs.RedactPassword ? Resources.Redacted : response?.Password; if (parsedArgs.OutputFormat == OutputFormat.Json) { // Manually write the JSON output, since we don't use ConsoleLogger in JSON mode (see above) Console.WriteLine(JsonConvert.SerializeObject(new CredentialResult(resultUsername, resultPassword))); } else { multiLogger.Info($"{Resources.Username}: {resultUsername}"); multiLogger.Info($"{Resources.Password}: {resultPassword}"); } return(0); } return(-1); } finally { foreach (ICredentialProvider credentialProvider in credentialProviders) { credentialProvider.Dispose(); } } }
public string GetNavBar() { var user = AuthUtil.GetCurrentUser(); return(BuilderNavBar(user.ModuleWithChildren)); }
/// <summary> /// 创建一个实例 /// </summary> /// <returns></returns> public bool CreateInstance(JObject obj) { var flowInstance = obj.ToObject <FlowInstance>(); //获取提交的表单数据 var frmdata = new JObject(); foreach (var property in obj.Properties().Where(U => U.Name.Contains("data_"))) { frmdata[property.Name] = property.Value; } flowInstance.FrmData = JsonHelper.Instance.Serialize(frmdata); //创建运行实例 var wfruntime = new FlowRuntime(flowInstance); var user = AuthUtil.GetCurrentUser(); #region 根据运行实例改变当前节点状态 flowInstance.ActivityId = wfruntime.runtimeModel.nextNodeId; flowInstance.ActivityType = wfruntime.GetNextNodeType();//-1无法运行,0会签开始,1会签结束,2一般节点,4流程运行结束 flowInstance.ActivityName = wfruntime.runtimeModel.nextNode.name; flowInstance.PreviousId = wfruntime.runtimeModel.currentNodeId; flowInstance.CreateUserId = user.User.Id; flowInstance.CreateUserName = user.User.Account; flowInstance.MakerList = (wfruntime.GetNextNodeType() != 4 ? GetMakerList(wfruntime) : "");//当前节点可执行的人信息 flowInstance.IsFinish = (wfruntime.GetNextNodeType() == 4 ? 1 : 0); UnitWork.Add(flowInstance); #endregion #region 流程操作记录 FlowInstanceOperationHistory processOperationHistoryEntity = new FlowInstanceOperationHistory { InstanceId = flowInstance.Id, CreateUserId = user.User.Id, CreateUserName = user.User.Name, CreateDate = DateTime.Now, Content = "【创建】" + user.User.Name + "创建了一个流程进程【" + flowInstance.Code + "/" + flowInstance.CustomName + "】" }; UnitWork.Add(processOperationHistoryEntity); #endregion #region 流转记录 FlowInstanceTransitionHistory processTransitionHistoryEntity = new FlowInstanceTransitionHistory { InstanceId = flowInstance.Id, FromNodeId = wfruntime.runtimeModel.currentNodeId, FromNodeName = wfruntime.runtimeModel.currentNode.name, FromNodeType = wfruntime.runtimeModel.currentNodeType, ToNodeId = wfruntime.runtimeModel.nextNodeId, ToNodeName = wfruntime.runtimeModel.nextNode.name, ToNodeType = wfruntime.runtimeModel.nextNodeType, IsFinish = wfruntime.runtimeModel.nextNodeType == 4?1:0, TransitionSate = 0, CreateUserId = user.User.Id, CreateUserName = user.User.Name }; #endregion UnitWork.Add(processTransitionHistoryEntity); UnitWork.Save(); return(true); }
/// <summary> /// 驳回 /// </summary> /// <returns></returns> public bool NodeReject(VerificationReq reqest) { var user = AuthUtil.GetCurrentUser().User; FlowInstance flowInstance = Get(reqest.FlowInstanceId); FlowRuntime wfruntime = new FlowRuntime(flowInstance); string resnode = ""; if (string.IsNullOrEmpty(reqest.NodeRejectStep)) { resnode = wfruntime.RejectNode(); } else { resnode = reqest.NodeRejectStep; } var tag = new Tag { Description = reqest.VerificationOpinion, Taged = 0, UserId = user.Id, UserName = user.Name }; wfruntime.MakeTagNode(wfruntime.runtimeModel.currentNodeId, tag); flowInstance.IsFinish = 4;//4表示驳回(需要申请者重新提交表单) if (resnode != "") { flowInstance.PreviousId = flowInstance.ActivityId; flowInstance.ActivityId = resnode; flowInstance.ActivityType = wfruntime.GetNodeType(resnode); flowInstance.ActivityName = wfruntime.runtimeModel.nodes[resnode].name; flowInstance.MakerList = GetMakerList(wfruntime.runtimeModel.nodes[resnode], flowInstance.PreviousId);//当前节点可执行的人信息 #region 流转记录 UnitWork.Add(new FlowInstanceTransitionHistory { InstanceId = flowInstance.Id, CreateUserId = user.Id, CreateUserName = user.Name, FromNodeId = wfruntime.runtimeModel.currentNodeId, FromNodeName = wfruntime.runtimeModel.currentNode.name, FromNodeType = wfruntime.runtimeModel.currentNodeType, ToNodeId = wfruntime.runtimeModel.nextNodeId, ToNodeName = wfruntime.runtimeModel.nextNode.name, ToNodeType = wfruntime.runtimeModel.nextNodeType, IsFinish = wfruntime.runtimeModel.nextNodeType == 4 ? 1 : 0, TransitionSate = 1 }); #endregion } UnitWork.Update(flowInstance); UnitWork.Add(new FlowInstanceOperationHistory { InstanceId = reqest.FlowInstanceId , CreateUserId = user.Id , CreateUserName = user.Name , CreateDate = DateTime.Now , Content = "【" + wfruntime.runtimeModel.currentNode.name + "】【" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "】驳回,备注:" + reqest.VerificationOpinion }); UnitWork.Save(); return(true); }