public void ManagerRole_UserNameSet_EqualsStark() { string actual = new ManagerRole(1, "stark").UserName; string expected = "stark"; Assert.AreEqual(expected, actual); }
public Claim[] AuthenticateUser(LoginInfo login) { IManagerCredential crd = new ManagerCredential(); ILayoutManager layoutManager = new LayoutManager(); IManagerRole roleManager = new ManagerRole(); if (string.IsNullOrEmpty(login.TenantCode) || string.IsNullOrEmpty(login.UserName) || string.IsNullOrEmpty(login.Password)) { return(null); } //Get tenant id with code Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, login.TenantCode); if (tenantId == Guid.Empty) { return(null); } //Validate UserName var userId = crd.GetUserName(tenantId, login.UserName); if (userId == Guid.Empty) { return(null); } //Validate UserName var passwordSaved = crd.GetPassword(tenantId, login.UserName); if (passwordSaved == null) { return(null); } // check if password is correct if (!VerifyPasswordHash(login.Password, Convert.FromBase64String(passwordSaved.PasswordHash), Convert.FromBase64String(passwordSaved.PasswordSalt))) { return(null); } //Get user detail var userDetails = roleManager.GetUserDetails(tenantId, userId); if (userDetails != null) { var claims = new[] { new Claim("UserId", userDetails.Id.ToString()), new Claim("UserName", userDetails.Name), new Claim("TenantId", tenantId.ToString()), new Claim("IsSuperAdmin", userDetails.IsSuperadmin.ToString()), new Claim("IsSystemAdmin", userDetails.IsSystemAdmin.ToString()), new Claim("Jti", Guid.NewGuid().ToString()) }; return(claims); } return(null); }
public bool checkAuthorization(dynamic login) { IManagerCredential crd = new ManagerCredential(); ILayoutManager layoutManager = new LayoutManager(); IManagerRole roleManager = new ManagerRole(); // if (string.IsNullOrEmpty(login.TenantCode) || string.IsNullOrEmpty(login.UserName)) // { // return false; // } //Get tenant id with code Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, login.TenantCode); if (tenantId == Guid.Empty) { return(false); } //Validate UserName var userId = crd.GetUserName(tenantId, login.UserName); if (userId == Guid.Empty) { return(false); } return(true); }
// public bool ChangePasswordSetIsNewAfterLogin(LoginInfo login) // { // IManagerCredential crd = new ManagerCredential(); // ILayoutManager layoutManager = new LayoutManager(); // IManagerRole roleManager = new ManagerRole(); // if (string.IsNullOrEmpty(login.TenantCode) || string.IsNullOrEmpty(login.UserName)) // return false; // //Get tenant id with code // Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, login.TenantCode); // if (tenantId == Guid.Empty) // return false; // //Validate UserName // var userId = crd.GetUserName(tenantId, login.UserName); // if (userId == Guid.Empty) // return false; // var userDetails = roleManager.GetUserDetails(tenantId, userId); // if (userDetails.Id == Guid.Empty) // return fase; // var credentialData=crd.GetCredential(tenantId,userDetails.Id); // return crd.SetIsNew(tenantId, new CredentialInfo // { // CredentialId = credentialData.CredentialId, // // ParentId=new Guid("E6C7AA71-3C94-46BF-A392-260A14667F95"), // ParentId = userDetails.Id, // UserName = "", // PasswordHash = "", // PasswordSalt = "", // IsNew = true // }); // } // private void SendMail(string parampass,Email emailTemplate,JObject data,Guid tenantId, Guid userId) // { // IMetadataManager _iMetadataManager = new VPC.Framework.Business.MetadataManager.Contracts.MetadataManager (); // var emailSubType = _iMetadataManager.GetSubTypes ("email"); // IEntityResourceManager _iEntityResourceManager = new VPC.Framework.Business.EntityResourceManager.Contracts.EntityResourceManager (); // dynamic jsonObject = new JObject (); // jsonObject.Body = emailTemplate.Body.Value; // jsonObject.Sender = ""; // jsonObject.Recipient = data["ContactInformation_Email"]; // jsonObject.Date = HelperUtility.GetCurrentUTCDate(); // jsonObject.Subject = emailTemplate.Subject; // var superAdminId = _iEntityResourceManager.SaveResult (tenantId, userId, "email", jsonObject, emailSubType[0].Name.ToString ()); public User UserInfo(ChangePasswordInfo changepassword) { IManagerCredential crd = new ManagerCredential(); ILayoutManager layoutManager = new LayoutManager(); IManagerRole roleManager = new ManagerRole(); Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, changepassword.TenantCode); var userId = crd.GetUserName(tenantId, changepassword.UserName); var queryFilter = new List <QueryFilter>(); queryFilter.Add(new QueryFilter { FieldName = "TenantId", Operator = "Equal", Value = tenantId.ToString() }); queryFilter.Add(new QueryFilter { FieldName = "InternalId", Operator = "Equal", Value = userId.ToString() }); var queryContext = new QueryContext { Fields = "FirstName,LastName", Filters = queryFilter, PageSize = 100, PageIndex = 1, MaxResult = 1 }; IEntityResourceManager _iEntityResourceManager = new VPC.Framework.Business.EntityResourceManager.Contracts.EntityResourceManager(); User userinfo = null; DataTable user = _iEntityResourceManager.GetResult(tenantId, "User", queryContext); if (user.Rows.Count > 0) { userinfo = EntityMapper <User> .Mapper(user); } return(userinfo); }
public ActionResult Index(string searchString, int page = 1, int pageSize = 10) { var role = new ManagerRole(); var model = role.ListAllPaging(searchString, page, pageSize); return(View(model)); }
public ActionResult Create(ManagerRole model, string[] roles, string[] navs) { var jm = new JsonWithUIcallback(); try { if (ModelState.IsValid) { //其他修改 var resultid = _bll.Insert(model); if (resultid > 0) { //获取具体权限内容 var rolelist = new List <Model.ManagerRoleValue>(); if (roles.Length > 0) { rolelist.AddRange( roles.Select(role => role.Split('|')).Select(arrrole => new ManagerRoleValue { RoleId = resultid, ControllerName = arrrole[0], ActionName = arrrole[1] })); } var bllrolevalue = new Dal.ManagerRoleValue(); bllrolevalue.InsertBatch(rolelist); var navlist = new List <NavigationRoleValue>(); if (navs.Length > 0) { navlist.AddRange( navs.Select(t => new NavigationRoleValue { RoleId = resultid, ActionName = t })); } var bllnavvalue = new Dal.NavigationRoleValue(); bllnavvalue.InsertBatch(navlist); } var bl = resultid > 0; jm.statusCode = bl ? 200 : 300; jm.message = (bl ? KeyWordsHelper.CreateSuccess : KeyWordsHelper.CreateFailure); jm.closeCurrent = bl; jm.tabid = bl ? "ManagerRoleList" : ""; } else { jm.message = KeyWordsHelper.DataParameterError; } } catch (Exception ex) { ComToolsController.AddtxtLog(ex, "创建提交", EnumHelper.Nlog.Error.ToString()); jm.statusCode = 300; jm.message = ex.ToString(); jm.closeCurrent = true; } return(Json(jm)); }
public void ManagerRole_RoleIdSet_EqualsOne() { int actual = new ManagerRole(1, "stark").RoleId; int expected = 1; Assert.AreEqual(expected, actual); }
public CredentialInfo UserCredentailInfo(LoginInfo login) { IManagerCredential crd = new ManagerCredential(); ILayoutManager layoutManager = new LayoutManager(); IManagerRole roleManager = new ManagerRole(); Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, login.TenantCode); Guid userId = crd.GetUserName(tenantId, login.UserName); CredentialInfo credentialData = crd.GetCredential(tenantId, userId); return(credentialData); }
private void GetTheResult(string str) { br.TxTNumber = int.Parse(str); RoleAbstract manger = new ManagerRole("经理"); RoleAbstract vp = new PresidentRole("副经理"); RoleAbstract pre = new PresigengtRole("总经理"); manger.NextRole = vp; vp.NextRole = pre; manger.Behaviour(br); }
public void ManagerRoleTest() { // get test Assert.That(ManagerRole.Moderator.ToString(), Is.EqualTo("moderator")); Assert.That(ManagerRole.Editor.ToString(), Is.EqualTo("editor")); Assert.That(ManagerRole.Administrator.ToString(), Is.EqualTo("administrator")); // parse test Assert.That(ManagerRole.FromJson("moderator"), Is.EqualTo(ManagerRole.Moderator)); Assert.That(ManagerRole.FromJson("editor"), Is.EqualTo(ManagerRole.Editor)); Assert.That(ManagerRole.FromJson("administrator"), Is.EqualTo(ManagerRole.Administrator)); }
public Task <IActionResult> Edit(ManagerRole model) { return(Task.Factory.StartNew <IActionResult>(() => { if (!ModelState.IsValid) { return Json(ExcutedResult.FailedResult("数据验证失败")); } ManagerRoleRepository.Edit(model, false); return Json(ExcutedResult.SuccessResult()); })); }
public bool ChangePasswordUpdateCredential(ChangePasswordInfo changepassword) { IManagerCredential crd = new ManagerCredential(); ILayoutManager layoutManager = new LayoutManager(); IManagerRole roleManager = new ManagerRole(); if (string.IsNullOrEmpty(changepassword.TenantCode) || string.IsNullOrEmpty(changepassword.UserName) || string.IsNullOrEmpty(changepassword.OldPassword) || string.IsNullOrEmpty(changepassword.NewPassword)) { return(false); } //Get tenant id with code Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, changepassword.TenantCode); if (tenantId == Guid.Empty) { return(false); } //Validate UserName var userId = crd.GetUserName(tenantId, changepassword.UserName); if (userId == Guid.Empty) { return(false); } //Validate UserName var passwordSaved = crd.GetPassword(tenantId, changepassword.UserName); if (passwordSaved == null) { return(false); } // check if password is correct if (!VerifyPasswordHash(changepassword.OldPassword, Convert.FromBase64String(passwordSaved.PasswordHash), Convert.FromBase64String(passwordSaved.PasswordSalt))) { return(false); } byte[] passwordHash, passwordSalt; CreatePasswordHash(changepassword.NewPassword, out passwordHash, out passwordSalt); CredentialInfo credentialData = crd.GetCredential(tenantId, userId); return(crd.Update(tenantId, new CredentialInfo { CredentialId = credentialData.CredentialId, ParentId = userId, UserName = changepassword.UserName, PasswordHash = Convert.ToBase64String(passwordHash), PasswordSalt = Convert.ToBase64String(passwordSalt), IsNew = false })); }
private async Task InitRoleAsync() { if (await _roleRepository.GetCountAsync() == 0) { var role = await _roleRepository.InsertAsync(new Role { Name = "超级管理员", Description = "权限最大,拥有所有权限" }); var manager = await _managerRepository.InsertAsync(new Manager(Guid.NewGuid(), "admin", "123456", "")); await _managerRoleRepository.InsertAsync(ManagerRole.CreateManagerRole(manager, role)); } }
public ActionResult Create(Role role) { if (ModelState.IsValid) { var managerrole = new ManagerRole(); long id = managerrole.Insert(role); if (id > 0) { return(RedirectToAction("Index", "Role")); } else { ModelState.AddModelError("", "Add role access"); } } return(View("Index")); }
public bool EditManager(long groupId, long userId, ManagerRole role, bool?isContact = null, string contactPosition = null, string contactPhone = null, string contactEmail = null) { VkErrors.ThrowIfNumberIsNegative(() => groupId); VkErrors.ThrowIfNumberIsNegative(() => userId); var parameters = new GroupsEditManagerParams { GroupId = groupId, UserId = userId, ContactEmail = contactEmail, ContactPhone = contactPhone, ContactPosition = contactPosition, IsContact = isContact, Role = role }; return(EditManager(parameters)); }
/// <summary> /// 给用户赋予新的角色 /// </summary> /// <param name="role"></param> /// <param name="menus"></param> /// <returns></returns> public async Task AddRoleToManager(Guid guid, List <Guid> roleIdList) { var manager = await _managerRepository.GetAsync(x => x.Id == guid); //删除所有的原有权限 await _managerRoleRepository.DeleteAsync(x => x.ManagerId == manager.Id); //赋予权限 foreach (var roleId in roleIdList) { var role = await _roleRepository.FindAsync(x => x.Id == roleId); if (role == null) { continue; } var roleMenu = ManagerRole.CreateManagerRole(manager, role); await _managerRoleRepository.InsertAsync(roleMenu); } }
public Claim[] RevokeAuthorization(Guid tenantId, Guid userId) { IManagerRole roleManager = new ManagerRole(); var userDetails = roleManager.GetUserDetails(tenantId, userId); if (userDetails != null) { var claims = new[] { new Claim("UserId", userDetails.Id.ToString()), new Claim("UserName", userDetails.Name), new Claim("TenantId", tenantId.ToString()), new Claim("IsSuperAdmin", userDetails.IsSuperadmin.ToString()), new Claim("IsSystemAdmin", userDetails.IsSystemAdmin.ToString()), new Claim("Jti", Guid.NewGuid().ToString()) }; return(claims); } return(null); }
public MenuManager(ManagerRole userRole) : this((int) userRole) { }
public ActionResult Edit(ManagerRole model, string[] roles, string[] navs) { var jm = new JsonWithUIcallback(); try { if (!ModelState.IsValid) { jm.message = KeyWordsHelper.DataParameterError; return(Json(jm)); } var oldModel = _bll.QueryToEnetity(p => p.Id == model.Id); if (oldModel == null) { jm.statusCode = 300; jm.message = "不存在此信息"; jm.closeCurrent = true; return(Json(jm)); } //事物处理过程开始 oldModel.DepartmentID = model.DepartmentID; oldModel.IsSystem = model.IsSystem; oldModel.RoleName = model.RoleName; oldModel.SortId = model.SortId; //获取具体权限内容 var rolelist = new List <Model.ManagerRoleValue>(); if (roles.Length > 0) { rolelist.AddRange(roles.Select(role => role.Split('|')).Select(arrrole => new ManagerRoleValue { RoleId = oldModel.Id, ControllerName = arrrole[0], ActionName = arrrole[1] })); } //获取具体栏目显示 var navlist = new List <NavigationRoleValue>(); if (navs != null && navs.Length > 0) { navlist.AddRange(navs.Select(t => new NavigationRoleValue { RoleId = oldModel.Id, ActionName = t })); } var resultbl = _bll.Update(oldModel) > 0; if (resultbl) { var bllrolevalue = new Dal.ManagerRoleValue(); bllrolevalue.Delete(p => p.RoleId == oldModel.Id); bllrolevalue.InsertBatch(rolelist); var bllnavvalue = new Dal.NavigationRoleValue(); bllnavvalue.Delete(p => p.RoleId == oldModel.Id); bllnavvalue.InsertBatch(navlist); } //事物处理过程结束 var bl = resultbl; jm.statusCode = bl ? 200 : 300; jm.message = bl ? KeyWordsHelper.EditSuccess : KeyWordsHelper.EditFailure; jm.closeCurrent = bl; jm.tabid = bl ? "ManagerRoleList" : ""; } catch (Exception ex) { ComToolsController.AddtxtLog(ex, "创建提交", EnumHelper.Nlog.Error.ToString()); jm.statusCode = 300; jm.message = ex.ToString(); jm.closeCurrent = true; } return(Json(jm)); }
public bool ForgetPasswordUpdateCredential(LoginInfo login, PasswordPolicy passwordpolicy) { IManagerCredential crd = new ManagerCredential(); ILayoutManager layoutManager = new LayoutManager(); IManagerRole roleManager = new ManagerRole(); if (string.IsNullOrEmpty(login.TenantCode) || string.IsNullOrEmpty(login.UserName)) { return(false); } //Get tenant id with code Guid tenantId = layoutManager.GetTenantId(InfoType.Tenant, login.TenantCode); if (tenantId == Guid.Empty) { return(false); } //Validate UserName var userId = crd.GetUserName(tenantId, login.UserName); if (userId == Guid.Empty) { return(false); } byte[] passwordHash, passwordSalt; Random random = new Random(); int pass = random.Next(1000000); //pass = 111; CreatePasswordHash(pass.ToString(), out passwordHash, out passwordSalt); var userDetails = roleManager.GetUserDetails(tenantId, userId); if (userDetails.Id == Guid.Empty) { return(false); } var credentialData = crd.GetCredential(tenantId, userDetails.Id); IMetadataManager iMetadataManager = new MetadataManager.Contracts.MetadataManager(); var queryFilter = new List <QueryFilter>(); queryFilter.Add(new QueryFilter { FieldName = "TenantId", Operator = "Equal", Value = tenantId.ToString() }); queryFilter.Add(new QueryFilter { FieldName = "InternalId", Operator = "Equal", Value = userDetails.Id.ToString() }); var queryContext = new QueryContext { Fields = "FirstName,LastName,MiddleName,ContactInformation.WorkEmail1", Filters = queryFilter, PageSize = 100, PageIndex = 1 }; // var queryContext = new QueryContext { Fields = "FirstName,LastName", Filters = queryFilter, PageSize = 100, PageIndex = 1 }; IEntityResourceManager _iEntityResourceManager = new VPC.Framework.Business.EntityResourceManager.Contracts.EntityResourceManager(); var dataTableUser = _iEntityResourceManager.GetResultById(tenantId, "user", userDetails.Id, queryContext); var userEntity = EntityMapper <VPC.Entities.EntityCore.Metadata.User> .Mapper(dataTableUser); var jObject = DataUtility.ConvertToJObjectList(dataTableUser); CredentialInfo usercredentialinfo = UserCredentailInfo(login); jObject[0].Add(new JProperty("UserCredential.Username", usercredentialinfo.UserName.ToString())); jObject[0].Add(new JProperty("UserCredential.Password", pass.ToString())); jObject[0].Add(new JProperty("TenantCode", login.TenantCode.ToString())); var emailTemplate = _iEntityResourceManager.GetWellKnownTemplate(tenantId, "emailtemplate", "user", (int)ContextTypeEnum.Forgotpassword, jObject[0]); if (emailTemplate != null && emailTemplate.Body != null) { var isnew = false; if (passwordpolicy != null) { isnew = passwordpolicy.ResetOnFirstLogin.Value; } crd.Update(tenantId, new CredentialInfo { CredentialId = credentialData.CredentialId, ParentId = userDetails.Id, PasswordHash = Convert.ToBase64String(passwordHash), PasswordSalt = Convert.ToBase64String(passwordSalt), IsNew = isnew }); var returnVal = DataUtility.SaveEmail(tenantId, userDetails.Id, emailTemplate, usercredentialinfo.UserName.ToString(), "ForgetPassword", InfoType.User); // SendMail(pass.ToString(),emailTemplate,jdata[0],tenantId,userDetails.Id); } else { return(false); } return(true); }
public AuthAttribute(string users = "", ManagerRole role = ManagerRole.None) { Users = users; Role = role; Type = UserType.Manager; }
public bool HaseRole(ManagerRole role) { return (Role & (int) role) > 0; }
public void ManagerRole_CanViewUsers_ReturnsTrue() { var manager = new ManagerRole(1, "stark"); Assert.IsFalse(manager.CanViewUsers); }
public bool EditManager(long groupId, long userId, ManagerRole role) { // Проверка на неотрицательные значения в след. методе return(EditManager(groupId, userId, role, null)); }
public void SetViewBag(long?selectedId = null) { var dao = new ManagerRole(); ViewBag.IdRole = new SelectList(dao.ListAll(), "ID", "Name", selectedId); }
protected string ReturnToSupplementsIndex() { return($"/{ManagerRole.ToLower()}/{Supplements.ToLower()}"); }