public UserSecurity GetUserCredentials(string userId, string password) { // Create the Database object, using the default database service. The // default database service is determined through configuration. Database db = DatabaseFactory.CreateDatabase(); string sqlCommand = "UI_GetUserCredentials"; DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); // DataSet that will hold the returned results DataSet commentaryDataSet = null; commentaryDataSet = db.ExecuteDataSet(dbCommand); // Note: connection was closed by ExecuteDataSet method call UserSecurity _userSecurity = new UserSecurity(); foreach (DataRow dr in commentaryDataSet.Tables[0].Rows) { _userSecurity.UserId = dr["UserId"].ToString(); _userSecurity.FirstName = dr["FirstName"].ToString(); _userSecurity.LastName = dr["LastName"].ToString(); _userSecurity.PhoneNumber = dr["PhoneNumber"].ToString(); _userSecurity.SubscriptionStartDate = DateTime.Parse(dr["SubscriptionStartDate"].ToString()); _userSecurity.SubscriptionEndDate = DateTime.Parse(dr["SubscriptionEndDate"].ToString()); } return _userSecurity; }
private bool IsSuccessfullyAuthenticated(string providedEmail, string providedPassword, UserSecurity persistedUserSecurity) { return(_hasher.DoesProvidedPasswordMatchPersistedPassword(providedPassword, persistedUserSecurity)); }
protected virtual List <ActionViewModel> GetActions() { var actionList = new List <ActionViewModel>(); if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, ModuleState.Permissions)) { actionList.Add(new ActionViewModel { Name = "Manage Settings", Action = async(u, m) => await Settings(u, m) }); if (ModuleState.ModuleDefinition != null && ModuleState.ModuleDefinition.ServerManagerType != "") { actionList.Add(new ActionViewModel { Name = "Import Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Import") }); actionList.Add(new ActionViewModel { Name = "Export Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Export") }); } actionList.Add(new ActionViewModel { Name = "Delete Module", Action = async(u, m) => await DeleteModule(u, m) }); actionList.Add(new ActionViewModel { Name = "" }); if (ModuleState.PaneModuleIndex > 0) { actionList.Add(new ActionViewModel { Name = "Move To Top", Action = async(s, m) => await MoveTop(s, m) }); } if (ModuleState.PaneModuleIndex > 0) { actionList.Add(new ActionViewModel { Name = "Move Up", Action = async(s, m) => await MoveUp(s, m) }); } if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1)) { actionList.Add(new ActionViewModel { Name = "Move Down", Action = async(s, m) => await MoveDown(s, m) }); } if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1)) { actionList.Add(new ActionViewModel { Name = "Move To Bottom", Action = async(s, m) => await MoveBottom(s, m) }); } foreach (string pane in PageState.Page.Panes.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) { if (pane != ModuleState.Pane) { actionList.Add(new ActionViewModel { Name = "Move To " + pane + " Pane", Action = async(s, m) => await MoveToPane(s, pane, m) }); } } } return(actionList); }
public bool DoesProvidedPasswordMatchPersistedPassword(string providedPassword, UserSecurity persistedUserSecurity) { return(CreateHashOfPasswordAndSalt(providedPassword, persistedUserSecurity.AppliedSalt) .Equals(persistedUserSecurity.PasswordHashedAndSalted)); }
protected override async Task ActionAsync() { var siteId = Input.Data.SiteId; await UserSecurity.CheckHasOneRolesAsync(_userService, Input.UserId, siteId, SiteUserRole.Administrator, SiteUserRole.PrivateUser); var beginDate = DateTime.Today; var endDate = DateTime.Today.AddDays(1); if (Input.Data.Date.HasValue) { beginDate = Input.Data.Date.Value.Date; endDate = Input.Data.Date.Value.Date.AddDays(1); } Result.Data = new GetStatsResult(); var stats = await _statService.GetStatsync(beginDate, endDate, siteId); var pages = (from p in stats group p by p.PageName into g select new { PageName = g.Key, PageParams = (from newp in g.ToList() group newp by newp.PageParam into newg select new { Param = newg.Key, NbView = newg.Count(), NbNewClientSession = newg.Count(p => p.IsNewClientSesssion == true), NbNewCookieSession = newg.Count(p => p.IsNewCookieSesssion == true) }).ToList(), g.First().Url, NbView = g.Count(), NbNewClientSession = g.Count(p => p.IsNewClientSesssion == true), NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true) } ).OrderBy(p => p.PageName).ToList(); var referrers = (from p in stats.Where(a => a.IsNewClientSesssion == true) group p by p.Referrer into g select new { Referrer = g.Key, g.First().Url, NbNewClientSession = g.Count(), NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true) } ).OrderBy(p => p.Referrer).ToList(); var regions = (from p in stats.Where(a => a.IsNewClientSesssion == true && a.Geo != null && a.Geo.RegionName != null) group p by p.Geo.RegionName.ToLower() into g select new { g.First().Geo.RegionName, g.First().Geo.Country, NbNewClientSession = g.Count(), NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true) } ).OrderBy(p => p.Country).OrderBy(p => p.RegionName).ToList(); var devices = (from p in stats.Where(a => a.IsNewClientSesssion == true) group p by p.TypeDevice into g select new { Device = g.First().TypeDevice, NbNewClientSession = g.Count(), NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true) } ).ToList(); var hoursList = (from p in stats group p by p.CreateDate.ToLocalTime().Hour into g select new { Hour = g.Key, NbView = g.Count(), NbNewClientSession = g.Count(p => p.IsNewClientSesssion == true), NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true) } ).ToList(); var hours = new List <dynamic>(); for (var i = 0; i <= 24; i++) { var info = hoursList.FirstOrDefault(p => p.Hour == i); if (info == null) { info = new { Hour = i, NbView = 0, NbNewClientSession = 0, NbNewCookieSession = 0 }; } hours.Add(info); } var nbVisit = stats.Count(p => p.IsNewClientSesssion == true); var nbNewVisitor = stats.Count(p => p.IsNewCookieSesssion == true); var nbPageView = stats.Count(); var data = Result.Data; data.NbVisit = nbVisit; data.NbNewVisitor = nbNewVisitor; data.NbPageView = nbPageView; data.Pages = pages; data.Referrers = referrers; data.Hours = hours; data.Regions = regions; data.Devices = devices; }
protected override async Task ActionAsync() { await UserSecurity.CheckIsSuperAdministratorAsync(_userService, Input.UserId); await _logService.ClearLogsAsync(); }
private void crystalReportViewer1_Load(object sender, EventArgs e) { DataSet ds = new DataSet(); ds = GetDs(); if (UserSecurity.HavingPrivilege(User.cur_user, "SPOOLWAREHOUSEUSERS")) { NestProjectMaterialRpt pmrpt = new NestProjectMaterialRpt(); pmrpt.SetDataSource(ds); crystalReportViewer1.ReportSource = pmrpt; } else { ProjectMaterialRpt pmrpt = new ProjectMaterialRpt(); pmrpt.SetDataSource(ds); crystalReportViewer1.ReportSource = pmrpt; } //crystalReportViewer1.DisplayGroupTree = false; ParameterFields paramFields = new ParameterFields(); ParameterField paramField1 = new ParameterField(); ParameterDiscreteValue discreteVal = new ParameterDiscreteValue(); // 第一个参数是具有多个值的离散参数。设置参数字段的名称,它必须和报表中的参数相符。 paramField1.ParameterFieldName = "kickoffdate"; // 设置离散值并将其传递给该参数。 discreteVal.Value = User.KickOffDate; paramField1.CurrentValues.Add(discreteVal); // 将该参数添加到参数字段集合。 paramFields.Add(paramField1); ParameterField paramField2 = new ParameterField(); ParameterDiscreteValue discreteVal2 = new ParameterDiscreteValue(); paramField2.ParameterFieldName = "TotalBaseLength"; discreteVal2.Value = User.TotalBaseLength; paramField2.CurrentValues.Add(discreteVal2); paramFields.Add(paramField2); ParameterField paramField5 = new ParameterField(); ParameterDiscreteValue discreteVal5 = new ParameterDiscreteValue(); paramField5.ParameterFieldName = "kickoffdateStart"; discreteVal5.Value = User.KickOffDate_start; paramField5.CurrentValues.Add(discreteVal5); paramFields.Add(paramField5); ParameterField paramField6 = new ParameterField(); ParameterDiscreteValue discreteVal6 = new ParameterDiscreteValue(); paramField6.ParameterFieldName = "kickoffdateEnd"; discreteVal6.Value = User.KickOffDate_end; paramField6.CurrentValues.Add(discreteVal6); paramFields.Add(paramField6); ParameterField paramField7 = new ParameterField(); ParameterDiscreteValue discreteVal7 = new ParameterDiscreteValue(); paramField7.ParameterFieldName = "TotalWeight"; discreteVal7.Value = User.PipeBaseTotalWeight; paramField7.CurrentValues.Add(discreteVal7); paramFields.Add(paramField7); crystalReportViewer1.ParameterFieldInfo = paramFields; }
public NewUserMVVM(Page page) : base(page) { random = new Random(); userSecurity = new UserSecurity(); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { /* * var userManager = context.OwinContext.GetUserManager<ApplicationUserManager>(); * * ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password); * * if (user == null) * { * context.SetError("invalid_grant", "The user name or password is incorrect."); * return; * } * * */ PrivateEncryption privateEncrytion = new PrivateEncryption(ConfigHelper.GetPasswordCryptoSecretKey()); string strUserName = context.UserName; string strPassword = context.Password; if (context.Scope[0].ToLower() == "autologin") { string decryptedPODetails = privateEncrytion.Decrypt(context.Password.Replace("~", "/").Replace("`", "=")); string[] strAuthDetails = decryptedPODetails.Split(new string[] { "POKeyValue" }, StringSplitOptions.None); string strLoginUserName = strAuthDetails[0].ToString(); string strKeyValue = strAuthDetails[1].ToString(); string decryptTimeStamp = strKeyValue; bool expired = Math.Abs((DateTime.UtcNow - new DateTime(Convert.ToInt64(decryptTimeStamp))).TotalMinutes) < intTokenValidTime; if (!expired) { context.SetError("invalid_grant", "Token expired. Please try again."); return; } strUserName = strPassword = strAuthDetails[0].ToString(); } int? userId = null; int? districtId = null; bool isFirstTimeLogin = false; //string password = context.Password.Substring(0, Math.Min(context.Password.Length, 12)); string encyptedPassword = context.Scope[0].ToLower() == "supportlogin" ? strPassword : privateEncrytion.Encrypt(strPassword); byte? isValid = UserSecurity.AuthenticateUser(strUserName, encyptedPassword, ref userId, ref districtId); if (userId == 0) { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } DataTable dtsocialShare = null; SharingModel SocialShare = new SharingModel(); if (districtId != null) { dtsocialShare = UserSecurity.GetsocialShare(districtId.Value); foreach (DataRow drShare in dtsocialShare.Rows) { SocialShare.FaceBookSharing = drShare.Field <bool>("Facebook Share"); SocialShare.InstagramSharing = drShare.Field <bool>("Instagram Share"); SocialShare.TwitterSharing = drShare.Field <bool>("Twitter Share"); } } UserProfile ud = UserSecurity.RetrieveUserDetail(userId); District isd = District.GetDistrict(districtId); if (ud.LastLoginDate == Convert.ToDateTime("1/1/1900 12:00:00 AM") || ud.LastLoginDate == DateTime.MinValue || ud.LastLoginDate == null) { isFirstTimeLogin = true; } else { isFirstTimeLogin = false; } switch (isValid) { case 0: //User successfully logged in /* * if (UrlHelper.CanUserLoginToRequestedURL(districtId)) * { * Security.Login(userId); * PageHelper.TransferUserToDefaultPage(); * } * else * { * PrivateEncryption encryption = new PrivateEncryption(ConfigHelper.GetPasswordCryptoSecretKey()); * PageHelper.TransferToPage(UrlHelper.GetOperationUrl("LOGIN", districtId) + "?cd=" + Server.UrlEncode(encryption.Encrypt(string.Format(DateTime.Now + "|" + userNameTextBox.Text + "|" + encryption.Encrypt(userPasswordTextBox.Text.Trim()))))); + } */ UserSecurity.UpdateLastLoginDate(userId, DateTime.Now); //Cannot use Activity Logging because it relys on Session. //ActivityLogging.AddActivity(ActivityKey.Login); //ActivityLogging.UpdateActivity(true, ""); break; case 1: //User does not exist context.SetError("invalid_grant", MessagesList.ERR_LOGIN_NOTREGISTER); return; case 2: //Password failed context.SetError("invalid_grant", MessagesList.ERR_LOGIN_PASSWORDFAILED); return; case 3: //Failed login attempts exceeded string error = string.Format(MessagesList.ERR_LOGIN_PASSWORDFAILEDATTEMPTSMORE, Setting.GetSettingValue(SettingMasterKey.AllowableFailedLoginAttempts, districtId), Setting.GetSettingValue(SettingMasterKey.AllowableReLoginDurationAfterexceedingTheAllowableFailedLoginAttempts, districtId)); context.SetError("invalid_grant", error); return; case 4: //User disabled context.SetError("invalid_grant", MessagesList.ERR_LOGIN_PASSWORDDISABLED); return; case 5: //User registered but not activated context.SetError("invalid_grant", MessagesList.ERR_LOGIN_REGISTERNOTACTIVATED); return; } double?studentBalance = null; studentBalance = Student.GetStudentBalance((int)userId); //if (!ud.IsParent) //{ // context.SetError("invalid_grant", "Only parents are allowed to login"); // return; //} ClaimsIdentity oAuthIdentity = new ClaimsIdentity(OAuthDefaults.AuthenticationType); ClaimsIdentity cookiesIdentity = new ClaimsIdentity(OAuthDefaults.AuthenticationType); if (ud.AccessId == 3 || ud.AccessId == 4) { oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "Admin")); } else { oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "User")); } Claim claim = new Claim("UserId", userId.ToString()); oAuthIdentity.AddClaim(claim); cookiesIdentity.AddClaim(claim); if (districtId == null) { districtId = 0; } claim = new Claim("DistrictId", districtId.ToString()); oAuthIdentity.AddClaim(claim); cookiesIdentity.AddClaim(claim); if (isd != null) { claim = new Claim("DistrictName", isd.DistrictName); oAuthIdentity.AddClaim(claim); cookiesIdentity.AddClaim(claim); } claim = new Claim("UserName", strUserName); oAuthIdentity.AddClaim(claim); cookiesIdentity.AddClaim(claim); claim = new Claim("AccessLevel", ud.AccessId.ToString()); oAuthIdentity.AddClaim(claim); cookiesIdentity.AddClaim(claim); string cd = privateEncrytion.Encrypt(DateTime.Now.ToString() + "|" + strUserName + "|" + encyptedPassword); string redirectURL = Setting.GetDefaultValue(22); string APPEB = Setting.GetSettingValue(SettingMasterKey.EligibilityBenefitsForAPP, districtId.Value); string WEBAB = Setting.GetSettingValue(SettingMasterKey.EligibilityBenefitsForWEB, districtId.Value); string showPic = Setting.GetSettingValue(SettingMasterKey.ShowPicturesFromPrimeroEdge, districtId.Value); long TimeStamp = DateTime.UtcNow.Ticks; //Upon login, display a message to confirm email address for users that have not logged in recently i.e 90Days. double LoginDiffDays = 0; bool LoginDiffrence = false; if (context.Scope[0].ToLower() != "autologin") { if (ud.LastLoginDate.Value.ToShortDateString() == "1/1/1900") { LoginDiffrence = false; } else { LoginDiffDays = (DateTime.Now - ud.LastLoginDate.Value).TotalDays; } if (LoginDiffDays >= 90) { LoginDiffrence = true; } } string encyptedTimeStamp = privateEncrytion.Encrypt(TimeStamp.ToString()); AuthenticationProperties properties = CreateProperties(strUserName); properties.Dictionary.Add("FirstName", ud.ContactInformation.FirstName); properties.Dictionary.Add("DistrictName", isd == null ? "" : isd.DistrictName); properties.Dictionary.Add("Status", isd == null ? "" : isd.Status.ToString()); properties.Dictionary.Add("AccessLevel", ud.AccessId.ToString()); properties.Dictionary.Add("RedirectURL", redirectURL); properties.Dictionary.Add("StudentBalance", studentBalance.ToString()); properties.Dictionary.Add("FaceBookSharing", SocialShare.FaceBookSharing.ToString()); properties.Dictionary.Add("InstagramSharing", SocialShare.InstagramSharing.ToString()); properties.Dictionary.Add("TwitterSharing", SocialShare.TwitterSharing.ToString()); properties.Dictionary.Add("ISDId", districtId.ToString()); properties.Dictionary.Add("APPEB", APPEB); properties.Dictionary.Add("WEBEB", WEBAB); properties.Dictionary.Add("OnlineAppsToken", encyptedTimeStamp); properties.Dictionary.Add("UserId", userId.ToString()); properties.Dictionary.Add("LoginDiffrence", LoginDiffrence.ToString()); properties.Dictionary.Add("Email", ud.ContactInformation.Email); properties.Dictionary.Add("Verified", ud.Verified?.ToString()); properties.Dictionary.Add("ShowPicture", showPic); properties.Dictionary.Add("IsFirstTimeLogin", Convert.ToString(isFirstTimeLogin)); properties.Dictionary.Add("UserIP", Helper.GetIP()); properties.Dictionary.Add("UserTypeId", Convert.ToString(ud.UserTypeId)); if (districtId != 0) { properties.Dictionary.Add("OnlineAppURL", Helper.GetOnlineAppUrl(districtId.Value)); } //properties.Dictionary.Add("SocialShare", (new JavaScriptSerializer().Serialize(SocialShare)).Replace("\"", "")); AuthenticationTicket ticket = new AuthenticationTicket(oAuthIdentity, properties); context.Validated(ticket); context.Request.Context.Authentication.SignIn(cookiesIdentity); }
#pragma warning disable 1998 protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) { __builder.OpenElement(0, "div"); __builder.AddAttribute(1, "class", "row"); __builder.AddMarkupContent(2, "\n"); #line 7 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor" foreach (var p in _pages) { if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.Permissions)) { string url = NavigateUrl(p.Path); #line default #line hidden __builder.AddContent(3, " "); __builder.OpenElement(4, "div"); __builder.AddAttribute(5, "class", "col-md-2 mx-auto text-center"); __builder.AddMarkupContent(6, "\n "); __builder.OpenComponent <Microsoft.AspNetCore.Components.Routing.NavLink>(7); __builder.AddAttribute(8, "class", "nav-link"); __builder.AddAttribute(9, "href", #line 13 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor" url #line default #line hidden ); __builder.AddAttribute(10, "Match", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <Microsoft.AspNetCore.Components.Routing.NavLinkMatch>( #line 13 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor" NavLinkMatch.All #line default #line hidden )); __builder.AddAttribute(11, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => { __builder2.AddMarkupContent(12, "\n "); __builder2.OpenElement(13, "h2"); __builder2.OpenElement(14, "span"); __builder2.AddAttribute(15, "class", "oi" + " oi-" + ( #line 14 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor" p.Icon #line default #line hidden )); __builder2.AddAttribute(16, "aria-hidden", "true"); __builder2.CloseElement(); __builder2.CloseElement(); __builder2.AddContent(17, #line 14 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor" p.Name #line default #line hidden ); __builder2.AddMarkupContent(18, "\n "); } )); __builder.CloseComponent(); __builder.AddMarkupContent(19, "\n "); __builder.CloseElement(); __builder.AddMarkupContent(20, "\n"); #line 17 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor" } } #line default #line hidden __builder.CloseElement(); }
#pragma warning disable 1998 protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) { __builder.OpenComponent <Oqtane.Modules.Controls.TabStrip>(0); __builder.AddAttribute(1, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => { __builder2.AddMarkupContent(2, "\n "); __builder2.OpenComponent <Oqtane.Modules.Controls.TabPanel>(3); __builder2.AddAttribute(4, "Name", "Settings"); __builder2.AddAttribute(5, "Heading", "Module Settings"); __builder2.AddAttribute(6, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => { __builder3.AddMarkupContent(7, "\n"); #line 10 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" if (_containers != null) { #line default #line hidden __builder3.AddContent(8, " "); __builder3.OpenElement(9, "table"); __builder3.AddAttribute(10, "class", "table table-borderless"); __builder3.AddMarkupContent(11, "\n "); __builder3.OpenElement(12, "tr"); __builder3.AddMarkupContent(13, "\n "); __builder3.OpenElement(14, "td"); __builder3.AddMarkupContent(15, "\n "); __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(16); __builder3.AddAttribute(17, "For", "title"); __builder3.AddAttribute(18, "HelpText", "Enter the title of the module"); __builder3.AddAttribute(19, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => { __builder4.AddContent(20, "Title: "); } )); __builder3.CloseComponent(); __builder3.AddMarkupContent(21, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(22, "\n "); __builder3.OpenElement(23, "td"); __builder3.AddMarkupContent(24, "\n "); __builder3.OpenElement(25, "input"); __builder3.AddAttribute(26, "id", "title"); __builder3.AddAttribute(27, "type", "text"); __builder3.AddAttribute(28, "name", "Title"); __builder3.AddAttribute(29, "class", "form-control"); __builder3.AddAttribute(30, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( #line 18 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _title #line default #line hidden )); __builder3.AddAttribute(31, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _title = __value, _title)); __builder3.SetUpdatesAttributeName("value"); __builder3.CloseElement(); __builder3.AddMarkupContent(32, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(33, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(34, "\n "); __builder3.OpenElement(35, "tr"); __builder3.AddMarkupContent(36, "\n "); __builder3.OpenElement(37, "td"); __builder3.AddMarkupContent(38, "\n "); __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(39); __builder3.AddAttribute(40, "For", "container"); __builder3.AddAttribute(41, "HelpText", "Select the module\'s container"); __builder3.AddAttribute(42, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => { __builder4.AddContent(43, "Container: "); } )); __builder3.CloseComponent(); __builder3.AddMarkupContent(44, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(45, "\n "); __builder3.OpenElement(46, "td"); __builder3.AddMarkupContent(47, "\n "); __builder3.OpenElement(48, "select"); __builder3.AddAttribute(49, "id", "container"); __builder3.AddAttribute(50, "class", "form-control"); __builder3.AddAttribute(51, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( #line 26 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _containerType #line default #line hidden )); __builder3.AddAttribute(52, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _containerType = __value, _containerType)); __builder3.SetUpdatesAttributeName("value"); __builder3.AddMarkupContent(53, "\n "); __builder3.OpenElement(54, "option"); __builder3.AddAttribute(55, "value", "-"); __builder3.AddContent(56, "<Inherit From Page Or Site>"); __builder3.CloseElement(); __builder3.AddMarkupContent(57, "\n"); #line 28 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" foreach (var container in _containers) { #line default #line hidden __builder3.AddContent(58, " "); __builder3.OpenElement(59, "option"); __builder3.AddAttribute(60, "value", #line 30 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" container.TypeName #line default #line hidden ); __builder3.AddContent(61, #line 30 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" container.Name #line default #line hidden ); __builder3.CloseElement(); __builder3.AddMarkupContent(62, "\n"); #line 31 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" } #line default #line hidden __builder3.AddContent(63, " "); __builder3.CloseElement(); __builder3.AddMarkupContent(64, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(65, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(66, "\n "); __builder3.OpenElement(67, "tr"); __builder3.AddMarkupContent(68, "\n "); __builder3.OpenElement(69, "td"); __builder3.AddMarkupContent(70, "\n "); __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(71); __builder3.AddAttribute(72, "For", "allpages"); __builder3.AddAttribute(73, "HelpText", "Indicate if this module should be displayed on all pages"); __builder3.AddAttribute(74, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => { __builder4.AddContent(75, "Display On All Pages? "); } )); __builder3.CloseComponent(); __builder3.AddMarkupContent(76, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(77, "\n "); __builder3.OpenElement(78, "td"); __builder3.AddMarkupContent(79, "\n "); __builder3.OpenElement(80, "select"); __builder3.AddAttribute(81, "id", "allpages"); __builder3.AddAttribute(82, "class", "form-control"); __builder3.AddAttribute(83, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( #line 40 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _allPages #line default #line hidden )); __builder3.AddAttribute(84, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _allPages = __value, _allPages)); __builder3.SetUpdatesAttributeName("value"); __builder3.AddMarkupContent(85, "\n "); __builder3.OpenElement(86, "option"); __builder3.AddAttribute(87, "value", "True"); __builder3.AddContent(88, "Yes"); __builder3.CloseElement(); __builder3.AddMarkupContent(89, "\n "); __builder3.OpenElement(90, "option"); __builder3.AddAttribute(91, "value", "False"); __builder3.AddContent(92, "No"); __builder3.CloseElement(); __builder3.AddMarkupContent(93, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(94, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(95, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(96, "\n "); __builder3.OpenElement(97, "tr"); __builder3.AddMarkupContent(98, "\n "); __builder3.OpenElement(99, "td"); __builder3.AddMarkupContent(100, "\n "); __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(101); __builder3.AddAttribute(102, "For", "page"); __builder3.AddAttribute(103, "HelpText", "The page that the module is on"); __builder3.AddAttribute(104, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => { __builder4.AddContent(105, "Page: "); } )); __builder3.CloseComponent(); __builder3.AddMarkupContent(106, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(107, "\n "); __builder3.OpenElement(108, "td"); __builder3.AddMarkupContent(109, "\n "); __builder3.OpenElement(110, "select"); __builder3.AddAttribute(111, "id", "page"); __builder3.AddAttribute(112, "class", "form-control"); __builder3.AddAttribute(113, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue( #line 51 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _pageId #line default #line hidden )); __builder3.AddAttribute(114, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _pageId = __value, _pageId)); __builder3.SetUpdatesAttributeName("value"); __builder3.AddMarkupContent(115, "\n"); #line 52 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" foreach (Page p in PageState.Pages) { if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.Permissions)) { #line default #line hidden __builder3.AddContent(116, " "); __builder3.OpenElement(117, "option"); __builder3.AddAttribute(118, "value", #line 56 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" p.PageId #line default #line hidden ); __builder3.AddContent(119, #line 56 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" new string('-', p.Level * 2) #line default #line hidden ); __builder3.AddContent(120, #line 56 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" p.Name #line default #line hidden ); __builder3.CloseElement(); __builder3.AddMarkupContent(121, "\n"); #line 57 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" } } #line default #line hidden __builder3.AddContent(122, " "); __builder3.CloseElement(); __builder3.AddMarkupContent(123, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(124, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(125, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(126, "\n"); #line 63 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" } #line default #line hidden __builder3.AddContent(127, " "); } )); __builder2.CloseComponent(); __builder2.AddMarkupContent(128, "\n "); __builder2.OpenComponent <Oqtane.Modules.Controls.TabPanel>(129); __builder2.AddAttribute(130, "Name", "Permissions"); __builder2.AddAttribute(131, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => { __builder3.AddMarkupContent(132, "\n"); #line 66 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" if (_permissions != null) { #line default #line hidden __builder3.AddContent(133, " "); __builder3.OpenElement(134, "table"); __builder3.AddAttribute(135, "class", "table table-borderless"); __builder3.AddMarkupContent(136, "\n "); __builder3.OpenElement(137, "tr"); __builder3.AddMarkupContent(138, "\n "); __builder3.OpenElement(139, "td"); __builder3.AddMarkupContent(140, "\n "); __builder3.OpenComponent <Oqtane.Modules.Controls.PermissionGrid>(141); __builder3.AddAttribute(142, "EntityName", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>( #line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" EntityNames.Module #line default #line hidden )); __builder3.AddAttribute(143, "PermissionNames", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>( #line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _permissionNames #line default #line hidden )); __builder3.AddAttribute(144, "Permissions", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>( #line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _permissions #line default #line hidden )); __builder3.AddComponentReferenceCapture(145, (__value) => { #line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _permissionGrid = (Oqtane.Modules.Controls.PermissionGrid)__value; #line default #line hidden } ); __builder3.CloseComponent(); __builder3.AddMarkupContent(146, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(147, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(148, "\n "); __builder3.CloseElement(); __builder3.AddMarkupContent(149, "\n"); #line 75 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" } #line default #line hidden __builder3.AddContent(150, " "); } )); __builder2.CloseComponent(); __builder2.AddMarkupContent(151, "\n"); #line 77 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" if (_settingsModuleType != null) { #line default #line hidden __builder2.AddContent(152, " "); __builder2.OpenComponent <Oqtane.Modules.Controls.TabPanel>(153); __builder2.AddAttribute(154, "Name", "ModuleSettings"); __builder2.AddAttribute(155, "Heading", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>( #line 79 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" _settingstitle #line default #line hidden )); __builder2.AddAttribute(156, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => { __builder3.AddMarkupContent(157, "\n "); __builder3.AddContent(158, #line 80 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" DynamicComponent #line default #line hidden ); __builder3.AddMarkupContent(159, "\n "); } )); __builder2.CloseComponent(); __builder2.AddMarkupContent(160, "\n"); #line 82 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" } #line default #line hidden } )); __builder.CloseComponent(); __builder.AddMarkupContent(161, "\n"); __builder.OpenElement(162, "button"); __builder.AddAttribute(163, "type", "button"); __builder.AddAttribute(164, "class", "btn btn-success"); __builder.AddAttribute(165, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, #line 84 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" SaveModule #line default #line hidden )); __builder.AddContent(166, "Save"); __builder.CloseElement(); __builder.AddMarkupContent(167, "\n"); __builder.OpenComponent <Microsoft.AspNetCore.Components.Routing.NavLink>(168); __builder.AddAttribute(169, "class", "btn btn-secondary"); __builder.AddAttribute(170, "href", #line 85 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor" NavigateUrl() #line default #line hidden ); __builder.AddAttribute(171, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => { __builder2.AddContent(172, "Cancel"); } )); __builder.CloseComponent(); }
public ViewResult Executive() { return(View(new ExecutiveScoreCardScreen(UserSecurity.EmployeeId, UserSecurity.OwnerText()))); }
public ViewResult Owner() { return(View(new OwnerScoreCardScreen(UserSecurity.EmployeeId, UserSecurity.OwnerText()))); }
public Page Post(int id, string userid) { Page page = null; Page parent = _pages.GetPage(id); if (parent != null && parent.IsPersonalizable && _userPermissions.GetUser(User).UserId == int.Parse(userid)) { page = new Page(); page.SiteId = parent.SiteId; page.Name = parent.Name; page.Path = parent.Path; page.ParentId = parent.PageId; page.Order = 0; page.IsNavigation = false; page.EditMode = false; page.ThemeType = parent.ThemeType; page.LayoutType = parent.LayoutType; page.Icon = parent.Icon; List <PermissionString> permissions = new List <PermissionString>(); permissions.Add(new PermissionString { PermissionName = "View", Permissions = "[" + userid + "]" }); permissions.Add(new PermissionString { PermissionName = "Edit", Permissions = "[" + userid + "]" }); page.Permissions = UserSecurity.SetPermissionStrings(permissions); page.IsPersonalizable = false; page.UserId = int.Parse(userid); page = _pages.AddPage(page); // copy modules List <PageModule> pagemodules = _pageModules.GetPageModules(page.SiteId).ToList(); foreach (PageModule pm in pagemodules.Where(item => item.PageId == parent.PageId && !item.IsDeleted)) { Module module = new Module(); module.SiteId = page.SiteId; module.PageId = page.PageId; module.ModuleDefinitionName = pm.Module.ModuleDefinitionName; permissions = new List <PermissionString>(); permissions.Add(new PermissionString { PermissionName = "View", Permissions = "[" + userid + "]" }); permissions.Add(new PermissionString { PermissionName = "Edit", Permissions = "[" + userid + "]" }); module.Permissions = UserSecurity.SetPermissionStrings(permissions); module = _modules.AddModule(module); string content = _modules.ExportModule(pm.ModuleId); if (content != "") { _modules.ImportModule(module.ModuleId, content); } PageModule pagemodule = new PageModule(); pagemodule.PageId = page.PageId; pagemodule.ModuleId = module.ModuleId; pagemodule.Title = pm.Title; pagemodule.Pane = pm.Pane; pagemodule.Order = pm.Order; pagemodule.ContainerType = pm.ContainerType; _pageModules.AddPageModule(pagemodule); } } return(page); }
private async Task Refresh() { Alias alias = null; Site site; List <Page> pages; Page page; User user = null; List <Module> modules; var moduleid = -1; var action = string.Empty; var urlparameters = string.Empty; var editmode = false; var reload = Reload.None; var lastsyncdate = DateTime.UtcNow; var runtime = GetRuntime(); Uri uri = new Uri(_absoluteUri); // get path var path = uri.LocalPath.Substring(1); // parse querystring var querystring = ParseQueryString(uri.Query); // the reload parameter is used to reload the PageState if (querystring.ContainsKey("reload")) { reload = Reload.Site; } if (PageState != null) { editmode = PageState.EditMode; lastsyncdate = PageState.LastSyncDate; } alias = await AliasService.GetAliasAsync(path, lastsyncdate); SiteState.Alias = alias; // set state for services lastsyncdate = alias.SyncDate; // process any sync events for site or page if (reload != Reload.Site && alias.SyncEvents.Any()) { if (PageState != null && alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Page && item.EntityId == PageState.Page.PageId)) { reload = Reload.Page; } if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Site && item.EntityId == alias.SiteId)) { reload = Reload.Site; } } if (reload == Reload.Site || PageState == null || alias.SiteId != PageState.Alias.SiteId) { site = await SiteService.GetSiteAsync(alias.SiteId); reload = Reload.Site; } else { site = PageState.Site; } if (site != null) { if (PageState == null || reload == Reload.Site) { // get user var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); if (authState.User.Identity.IsAuthenticated) { user = await UserService.GetUserAsync(authState.User.Identity.Name, site.SiteId); } } else { user = PageState.User; } // process any sync events for user if (reload != Reload.Site && user != null && alias.SyncEvents.Any()) { if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.User && item.EntityId == user.UserId)) { reload = Reload.Site; } } if (PageState == null || reload >= Reload.Site) { pages = await PageService.GetPagesAsync(site.SiteId); } else { pages = PageState.Pages; } // format path and remove alias path = path.Replace("//", "/"); if (!path.EndsWith("/")) { path += "/"; } if (alias.Path != "") { path = path.Substring(alias.Path.Length + 1); } // extract admin route elements from path var segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); int result; int modIdPos = 0; int actionPos = 0; int urlParametersPos = 0; for (int i = 0; i < segments.Length; i++) { if (segments[i] == Constants.UrlParametersDelimiter) { urlParametersPos = i + 1; } if (i >= urlParametersPos && urlParametersPos != 0) { urlparameters += "/" + segments[i]; } if (segments[i] == Constants.ModuleDelimiter) { modIdPos = i + 1; actionPos = modIdPos + 1; if (actionPos > segments.Length - 1) { action = Constants.DefaultAction; } else { action = segments[actionPos]; } } } // check if path has moduleid and action specification ie. pagename/moduleid/action/ if (modIdPos > 0) { int.TryParse(segments[modIdPos], out result); moduleid = result; if (actionPos > segments.Length - 1) { path = path.Replace(segments[modIdPos - 1] + "/" + segments[modIdPos] + "/", ""); } else { path = path.Replace(segments[modIdPos - 1] + "/" + segments[modIdPos] + "/" + segments[actionPos] + "/", ""); } } if (urlParametersPos > 0) { path = path.Replace(segments[urlParametersPos - 1] + urlparameters + "/", ""); } // remove trailing slash so it can be used as a key for Pages if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } if (PageState == null || reload >= Reload.Page) { page = pages.Where(item => item.Path == path).FirstOrDefault(); } else { page = PageState.Page; } // failsafe in case router cannot locate the home page for the site if (page == null && path == "") { page = pages.FirstOrDefault(); path = page.Path; } // check if page has changed if (page != null && page.Path != path) { page = pages.Where(item => item.Path == path).FirstOrDefault(); reload = Reload.Page; editmode = false; } if (page != null) { if (PageState == null) { editmode = false; } // check if user is authorized to view page if (UserSecurity.IsAuthorized(user, PermissionNames.View, page.Permissions)) { page = await ProcessPage(page, site, user); if (PageState != null && (PageState.ModuleId != moduleid || PageState.Action != action)) { reload = Reload.Page; } if (PageState == null || reload >= Reload.Page) { modules = await ModuleService.GetModulesAsync(site.SiteId); (page, modules) = ProcessModules(page, modules, moduleid, action, (!string.IsNullOrEmpty(page.DefaultContainerType)) ? page.DefaultContainerType : site.DefaultContainerType); } else { modules = PageState.Modules; } _pagestate = new PageState { Alias = alias, Site = site, Pages = pages, Page = page, User = user, Modules = modules, Uri = new Uri(_absoluteUri, UriKind.Absolute), QueryString = querystring, UrlParameters = urlparameters, ModuleId = moduleid, Action = action, EditMode = editmode, LastSyncDate = lastsyncdate, Runtime = runtime }; OnStateChange?.Invoke(_pagestate); } } else { if (user == null) { // redirect to login page NavigationManager.NavigateTo(Utilities.NavigateUrl(alias.Path, "login", "returnurl=" + path)); } else { await LogService.Log(null, null, user.UserId, GetType().AssemblyQualifiedName, Utilities.GetTypeNameLastSegment(GetType().AssemblyQualifiedName, 1), LogFunction.Security, LogLevel.Error, null, "Page Does Not Exist Or User Is Not Authorized To View Page {Path}", path); if (path != "") { // redirect to home page NavigationManager.NavigateTo(Utilities.NavigateUrl(alias.Path, "", "")); } } } } else { // site does not exist } }
public void Add_Throws_User_Is_Already_Registered() { var registerUserRequest = new RegisterUserRequest { Email = "*****@*****.**", Password = "******" }; var userService = AddUserRequestValidatorMock.Create(); userService.UserSecurityRepositoryMock.Setup(us => us.GetByEmail(registerUserRequest.Email)).Returns(UserSecurity.CreateBasic(Guid.Empty, string.Empty, string.Empty)); var exception = Assert.Throws <DenialException>(() => userService.DataValidate(registerUserRequest, ActionType.Add)); Assert.AreEqual(exception.Message, "UserIsAlreadyRegistered"); Assert.AreEqual(exception.StatusCode, HttpStatusCode.BadRequest); }
public FormUserLogin() { InitializeComponent(); esha = new EncodeSHA(); user = new UserSecurity(); }
public async Task <string> LoginAsync(AuthRequest request) { var pairs = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("client_id", request.clientId), new KeyValuePair <string, string>("redirect_uri", request.redirectUri), new KeyValuePair <string, string>("client_secret", clientSecret), new KeyValuePair <string, string>("code", request.code), new KeyValuePair <string, string>("grant_type", "authorization_code"), new KeyValuePair <string, string>("access_type", "offline") }; HttpRequestMessage tokenRequest = new HttpRequestMessage(HttpMethod.Post, new Uri("https://www.googleapis.com/oauth2/v4/token")); tokenRequest.Content = new FormUrlEncodedContent(pairs); tokenRequest.Content.Headers.TryAddWithoutValidation("ContentType ", "application/x-www-form-urlencoded"); var tokenResult = await httpClient.SendAsync(tokenRequest); if (!tokenResult.IsSuccessStatusCode) { throw AuthenticationException.InvalidCredential; } var tokenResponse = await tokenResult.Content.ReadAsAsync <GoogleAccesTokenResponse>(); HttpRequestMessage openIdRequest = new HttpRequestMessage(HttpMethod.Get, new Uri("https://www.googleapis.com/plus/v1/people/me/openIdConnect")); openIdRequest.Headers.Authorization = new AuthenticationHeaderValue(tokenResponse.token_type, tokenResponse.access_token); var openIdResult = await httpClient.SendAsync(openIdRequest); if (!openIdResult.IsSuccessStatusCode) { throw AuthenticationException.InvalidCredential; } var googleUser = await openIdResult.Content.ReadAsAsync <GoogleMeResponse>(); var dbUser = userSecurityRepository.GetByEmail(googleUser.email); if (dbUser == null) { var userRole = roleRepository.GetByName("User"); var userSecurity = new UserSecurity( Guid.Empty, googleUser.email, AuthProvider.Google, tokenResponse.access_token, tokenResponse.refresh_token, Guid.NewGuid().ToString(), null, null, googleUser.locale == "tr" ? "tr" : "en", // TODO: check language correctly googleUser.given_name, googleUser.family_name, googleUser.picture, googleUser.gender == "male" ? Gender.Male : Gender.Female, false, true, new List <Role> { userRole } ); userSecurity.CreateToken(abiokaToken, tokenResponse.access_token); userSecurityRepository.Add(userSecurity); return(userSecurity.Token); } if (dbUser.AuthProvider != AuthProvider.Google) { throw new DenialException($"UserIsRegisteredFor{dbUser.AuthProvider}", dbUser.Email); } dbUser.UpdateProviderRefreshToken(tokenResponse.refresh_token ?? tokenResponse.access_token); dbUser.CreateToken(abiokaToken, tokenResponse.access_token); userSecurityRepository.Update(dbUser); return(dbUser.Token); }
private void NestingDetailViewer_Load(object sender, EventArgs e) { DataSet ds = new DataSet(); ds = GetDs(); if (UserSecurity.HavingPrivilege(User.cur_user, "SPOOLWAREHOUSEUSERS")) { NestingPipeRpt pmrpt = new NestingPipeRpt(); pmrpt.SetDataSource(ds); NestingDetailViewer.ReportSource = pmrpt; } ParameterFields paramFields = new ParameterFields(); ParameterField paramField1 = new ParameterField(); ParameterDiscreteValue discreteVal = new ParameterDiscreteValue(); paramField1.ParameterFieldName = "kickoffdate"; discreteVal.Value = User.KickOffDate; paramField1.CurrentValues.Add(discreteVal); paramFields.Add(paramField1); ParameterField paramField2 = new ParameterField(); ParameterDiscreteValue discreteVa2 = new ParameterDiscreteValue(); paramField2.ParameterFieldName = "Margin"; discreteVa2.Value = User.Margin; paramField2.CurrentValues.Add(discreteVa2); paramFields.Add(paramField2); ParameterField paramField3 = new ParameterField(); ParameterDiscreteValue discreteVal3 = new ParameterDiscreteValue(); paramField3.ParameterFieldName = "TotalBaseLength"; discreteVal3.Value = User.TotalBaseLength; paramField3.CurrentValues.Add(discreteVal3); paramFields.Add(paramField3); ParameterField paramField4 = new ParameterField(); ParameterDiscreteValue discreteVal4 = new ParameterDiscreteValue(); paramField4.ParameterFieldName = "PipeRatio"; discreteVal4.Value = User.PipeRatio; paramField4.CurrentValues.Add(discreteVal4); paramFields.Add(paramField4); ParameterField paramField5 = new ParameterField(); ParameterDiscreteValue discreteVal5 = new ParameterDiscreteValue(); paramField5.ParameterFieldName = "kickoffdateStart"; discreteVal5.Value = User.KickOffDate_start; paramField5.CurrentValues.Add(discreteVal5); paramFields.Add(paramField5); ParameterField paramField6 = new ParameterField(); ParameterDiscreteValue discreteVal6 = new ParameterDiscreteValue(); paramField6.ParameterFieldName = "kickoffdateEnd"; discreteVal6.Value = User.KickOffDate_end; paramField6.CurrentValues.Add(discreteVal6); paramFields.Add(paramField6); NestingDetailViewer.ParameterFieldInfo = paramFields; }
public FormChgPwd() { InitializeComponent(); usec = new UserSecurity(); es = new EncodeSHA(); }
public bool Authen(string username, string password) { return(UserSecurity.Login(username, password)); }
protected override void OnParametersSet() { if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && Name != Constants.AdminPane) { _paneadminborder = "app-pane-admin-border"; _panetitle = "<div class=\"app-pane-admin-title\">" + Name + " Pane</div>"; } else { _paneadminborder = "container"; _panetitle = ""; } DynamicComponent = builder => { if (PageState.ModuleId != -1 && PageState.Action != Constants.DefaultAction) { if (Name.ToLower() == Constants.AdminPane.ToLower()) { Module module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId); if (module != null && !module.IsDeleted) { var typename = module.ModuleType; // check for core module actions component if (Constants.DefaultModuleActions.Contains(PageState.Action)) { typename = Constants.DefaultModuleActionsTemplate.Replace(Constants.ActionToken, PageState.Action); } var moduleType = Type.GetType(typename); if (moduleType != null) { bool authorized = false; if (Constants.DefaultModuleActions.Contains(PageState.Action)) { authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions); } else { switch (module.SecurityAccessLevel) { case SecurityAccessLevel.Anonymous: authorized = true; break; case SecurityAccessLevel.View: authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions); break; case SecurityAccessLevel.Edit: authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.Permissions); break; case SecurityAccessLevel.Admin: authorized = UserSecurity.IsAuthorized(PageState.User, Constants.AdminRole); break; case SecurityAccessLevel.Host: authorized = UserSecurity.IsAuthorized(PageState.User, Constants.HostRole); break; } } if (authorized) { if (!Constants.DefaultModuleActions.Contains(PageState.Action) && module.ControlTitle != "") { module.Title = module.ControlTitle; } CreateComponent(builder, module); } } else { // module control does not exist with name specified } } } } else { if (PageState.ModuleId != -1) { Module module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId); if (module != null && module.Pane.ToLower() == Name.ToLower() && !module.IsDeleted) { // check if user is authorized to view module if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions)) { CreateComponent(builder, module); } } } else { foreach (Module module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId && item.Pane.ToLower() == Name.ToLower() && !item.IsDeleted).OrderBy(x => x.Order).ToArray()) { // check if user is authorized to view module if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions)) { CreateComponent(builder, module); } } } } }; }
public string GetPermissions() { ValidatePermissions(); return(UserSecurity.SetPermissionStrings(_permissions)); }
protected void Page_Load(object sender, EventArgs e) { if (Request.Cookies["user"] == null) { Response.Redirect("~/Default.aspx"); } else { if (!new UserSecurity().CheckFormPermission((int)Global.formSecurity.AddRole, Request.Cookies["user"]["Permission"].ToString())) { Response.Redirect("~/Settings/UnAuthorized.aspx"); } } if (!IsPostBack) { //load all forms UserSecurity us = new UserSecurity(); DataTable dt = us.getAllForms(1); chkPermissionFin.DataSource = dt; chkPermissionFin.DataValueField = "ID"; chkPermissionFin.DataTextField = "FormName"; chkPermissionFin.DataBind(); DataTable dt2 = us.getAllForms(2); chkPermissionHR.DataSource = dt2; chkPermissionHR.DataValueField = "ID"; chkPermissionHR.DataTextField = "FormName"; chkPermissionHR.DataBind(); DataTable dt3 = us.getAllForms(3); chkPermissionST.DataSource = dt3; chkPermissionST.DataValueField = "ID"; chkPermissionST.DataTextField = "FormName"; chkPermissionST.DataBind(); DataTable dt4 = us.getAllForms(4); chkPermissionSettings.DataSource = dt4; chkPermissionSettings.DataValueField = "ID"; chkPermissionSettings.DataTextField = "FormName"; chkPermissionSettings.DataBind(); if (Request.QueryString.AllKeys.Contains("ID")) { if (Convert.ToInt32(Request.QueryString["ID"].ToString()) > 0) { //UserSecurity us =new UserSecurity(); us.getRole(int.Parse(Request.QueryString["ID"].ToString())); txtRoleName.Text = us.RoleName; ddlDefault.Text = us.DefaultURL; ListItem li; string[] per = us.RolePermission.Split(','); for (int i = 0; i < per.Length; i++) { li = chkPermissionFin.Items.FindByValue(per[i].ToString()); if (li != null) { li.Selected = true; } li = chkPermissionHR.Items.FindByValue(per[i].ToString()); if (li != null) { li.Selected = true; } li = chkPermissionST.Items.FindByValue(per[i].ToString()); if (li != null) { li.Selected = true; } li = chkPermissionSettings.Items.FindByValue(per[i].ToString()); if (li != null) { li.Selected = true; } } } } /* chkPermission.DataSource = dt; * chkPermission.DataValueField = "ID"; * chkPermission.DataTextField = "FormName"; * chkPermission.DataBind();*/ } }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <User>() .ToTable("Users") .HasKey(u => u.Id); modelBuilder.Entity <User>() .OwnsOne(u => u.Email, email => { email.Property(prop => prop.Address).HasColumnName("Email"); } ); modelBuilder.Entity <User>() .OwnsOne(u => u.SecurePassword, securePass => { securePass.Property(prop => prop.PasswordHash).HasColumnName("PassWord"); securePass.Property(prop => prop.Salt).HasColumnName("SecPass"); }); modelBuilder.Entity <User>(u => { var userId = Guid.NewGuid(); u.HasData(new { Id = userId, FirstName = "test", LastName = "user", RoleId = 1, }); u.OwnsOne(m => m.Email).HasData(new { UserId = userId, Address = "*****@*****.**" }); var temp = new UserSecurity("r5iPEDa9yVsW9s1Jr7j3fEpepSjT+oLu+4gUG6o7sMI=", "nhSRFAcAR6lgnY40PZi4iw=="); u.OwnsOne(us => us.SecurePassword).HasData(new { UserId = userId, PassWordHash = "r5iPEDa9yVsW9s1Jr7j3fEpepSjT+oLu+4gUG6o7sMI=", Salt = "nhSRFAcAR6lgnY40PZi4iw==" }); }); modelBuilder.Entity <Candidate>() .ToTable("Candidates") .HasKey(c => c.Id); modelBuilder.Entity <Candidate>() .OwnsOne(c => c.Email, email => { email.Property(prop => prop.Address).HasColumnName("Email"); } ); modelBuilder.Entity <Campaign>() .ToTable("Campaign") .HasKey(key => key.CampaignId); modelBuilder.Entity <Campaign>() .Ignore(prop => prop.Status) .HasData( Campaign.CreateNewCampaign("asp.net", "CM", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)), Campaign.CreateNewCampaign("java", "Cegeka", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)), Campaign.CreateNewCampaign("asp.net", "OZ", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)) ); modelBuilder.Entity <JobApplication>() .ToTable("JobApplication") .HasKey(jp => jp.Id); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Candidate) .WithMany() .HasForeignKey(jp => jp.CandidateId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Campaign) .WithMany() .HasForeignKey(jp => jp.CampaignId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Status) .WithMany() .HasForeignKey(jp => jp.StatusId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.CV) .WithMany() .HasForeignKey(jp => jp.CvId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <JobApplication>() .HasOne(jp => jp.Motivation) .WithMany() .HasForeignKey(jp => jp.MotivationId) .OnDelete(DeleteBehavior.Restrict); modelBuilder.Entity <File>() .ToTable("Files") .HasKey(fu => fu.Id); modelBuilder.Entity <Status>() .HasData( new Status(1, "Inactive"), new Status(2, "Active"), new Status(3, "Rejected"), new Status(4, "Accepted") ); modelBuilder.Entity <Screening>() .ToTable("Screening") .HasKey(screeningKey => new { screeningKey.JobApplicationId, screeningKey.Name }); modelBuilder.Entity <Screening>() .HasDiscriminator <string>("screeningType"); modelBuilder.Entity <CV_Screening>(); modelBuilder.Entity <FinalDecision_Screening>(); modelBuilder.Entity <FirstInterview_Screening>(); modelBuilder.Entity <GroupInterview_Screening>(); modelBuilder.Entity <Phone_Screening>(); modelBuilder.Entity <TestResults_Screening>(); modelBuilder.Entity <Screening>() .HasOne(scr => scr.JobApplication) .WithMany(jp => jp.Screening) .HasForeignKey(j => j.JobApplicationId); base.OnModelCreating(modelBuilder); }
protected override async Task ActionAsync() { await UserSecurity.CheckIsSuperAdministratorAsync(_userService, Input.UserId); Result.Data = await _logService.GetLogs(Input.Data); }
private void CreateUser(string email, string name, string password, bool isApproved, bool isLockedOut, bool createRoles) { var dataSource = DependencyInjector.Get<IMembershipDataSource>(); var securityService = DependencyInjector.Get<ISecurityManager>(); var mainGroupId = dataSource.Query<Group>().Where(g => g.Name.ToLower() == Resources.DefaultValues.MainGroupName.ToLower()).Select(a => a.Id).FirstOrDefault(); var user = new User(Guid.NewGuid(), email, name); user.PreferredCulture = StrixPlatform.DefaultCultureCode; var userSecurity = new UserSecurity(user.Id); userSecurity.Password = securityService.EncodePassword(password); userSecurity.Approved = isApproved; userSecurity.LockedOut = isLockedOut; dataSource.Save(userSecurity); var userSession = new UserSessionStorage(user.Id); dataSource.Save(userSession); dataSource.Save(user); if (createRoles) { var adminRole = dataSource.Query<GroupInRole>().First(g => g.Role.Name == PlatformConstants.ADMINROLE); var userInRole = new UserInRole(adminRole, user.Id); dataSource.Save(userInRole); } dataSource.SaveChanges(); }
protected virtual List <ActionViewModel> GetActions() { var actionList = new List <ActionViewModel>(); if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, ModuleState.Permissions)) { actionList.Add(new ActionViewModel { Icon = Icons.Cog, Name = "Manage Settings", Action = async(u, m) => await Settings(u, m) }); if (UserSecurity.GetPermissionStrings(ModuleState.Permissions).FirstOrDefault(item => item.PermissionName == PermissionNames.View).Permissions.Split(';').Contains(RoleNames.Everyone)) { actionList.Add(new ActionViewModel { Icon = Icons.CircleX, Name = "Unpublish Module", Action = async(s, m) => await Unpublish(s, m) }); } else { actionList.Add(new ActionViewModel { Icon = Icons.CircleCheck, Name = "Publish Module", Action = async(s, m) => await Publish(s, m) }); } actionList.Add(new ActionViewModel { Icon = Icons.Trash, Name = "Delete Module", Action = async(u, m) => await DeleteModule(u, m) }); if (ModuleState.ModuleDefinition != null && ModuleState.ModuleDefinition.ServerManagerType != "") { actionList.Add(new ActionViewModel { Name = "" }); actionList.Add(new ActionViewModel { Icon = Icons.CloudUpload, Name = "Import Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Import") }); actionList.Add(new ActionViewModel { Icon = Icons.CloudDownload, Name = "Export Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Export") }); } actionList.Add(new ActionViewModel { Name = "" }); if (ModuleState.PaneModuleIndex > 0) { actionList.Add(new ActionViewModel { Icon = Icons.DataTransferUpload, Name = "Move To Top", Action = async(s, m) => await MoveTop(s, m) }); } if (ModuleState.PaneModuleIndex > 0) { actionList.Add(new ActionViewModel { Icon = Icons.ArrowThickTop, Name = "Move Up", Action = async(s, m) => await MoveUp(s, m) }); } if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1)) { actionList.Add(new ActionViewModel { Icon = Icons.ArrowThickBottom, Name = "Move Down", Action = async(s, m) => await MoveDown(s, m) }); } if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1)) { actionList.Add(new ActionViewModel { Icon = Icons.DataTransferDownload, Name = "Move To Bottom", Action = async(s, m) => await MoveBottom(s, m) }); } foreach (string pane in PageState.Page.Panes) { if (pane != ModuleState.Pane) { actionList.Add(new ActionViewModel { Icon = Icons.AccountLogin, Name = pane + " Pane", Action = async(s, m) => await MoveToPane(s, pane, m) }); } } } return(actionList); }
public void NotComputeHashPassword() { var userSecurity = UserSecurity.CreateBasic(Guid.NewGuid(), "*****@*****.**", "1234"); Assert.AreEqual("1234", userSecurity.Password); }