示例#1
0
 protected void ExportEmails(Student student, XUser owner)
 {
     foreach (var email in student.Emails)
     {
         _rows.Add(new XEmail(owner, email));
     }
 }
        private static void CreateUsers(XAppDbContext context)
        {
            var users = new List <XUser>
            {
                new XUser {
                    FirstName = "K", LastName = "KK", UserName = "******", Email = "*****@*****.**", Address = "addr 0 wro", CreationDate = DateTime.Parse("2017-11-22")
                },
                new XUser {
                    FirstName = "Carson", LastName = "Alexander", UserName = "******", Address = "addr 1x", CreationDate = DateTime.Parse("2017-11-22")
                },
                new XUser {
                    FirstName = "Meredith", LastName = "Alonso", UserName = "******", Address = "addr 2x", CreationDate = DateTime.Parse("2017-11-22")
                }
            };

            users.ForEach(u => context.Users.AddOrUpdate(uu => uu.UserName, u));
            context.SaveChanges();

            var userManager = new XUserManager(new UserStore <XUser, XRole, long, XLogin, XUserRole, XClaim>(context), new IdentityFactoryOptions <XUserManager>());
            var roleManager = new XRoleManager(new RoleStore <XRole, long, XUserRole>(context), new IdentityFactoryOptions <XRoleManager>());

            var superPowerUser = new XUser
            {
                UserName     = "******",
                Email        = "*****@*****.**",
                FirstName    = "Admin",
                LastName     = "Power",
                CreationDate = DateTime.Parse("2017-11-24")
            };

            userManager.Create(superPowerUser, "P@ssw0rd");

            var krzyhook = userManager.FindByName("krzyhook");

            if (krzyhook.PasswordHash == null)
            {
                userManager.AddPassword(krzyhook.Id, "P@ssw0rd");
            }

            if (!roleManager.Roles.Any())
            {
                roleManager.Create(new XRole {
                    Name = "SuperAdmin"
                });
                roleManager.Create(new XRole {
                    Name = "Admin"
                });
                roleManager.Create(new XRole {
                    Name = "User"
                });
            }

            var adminUser = userManager.FindByName(superPowerUser.UserName);

            userManager.AddToRoles(adminUser.Id, new string[] { "SuperAdmin", "Admin" });

            var krzyhookUser = userManager.FindByName(krzyhook.UserName);

            userManager.AddToRoles(krzyhookUser.Id, new string[] { "User" });
        }
示例#3
0
        /// <summary>
        /// Проверка на сохранение объекта в БД, поступившего от клиента, в рамках датаграммы
        /// </summary>
        /// <param name="xuser">Пользователь, сохраняющий объект</param>
        /// <param name="ex">Описание запрета</param>
        public bool HasSaveObjectPrivilege(XUser xuser, DomainObjectData xobj, out Exception ex)
        {
            ex = null;
            ITUser user = (ITUser)xuser;

            using (XStorageConnection con = getConnection())
            {
                ObjectRightsCheckerBase checker = (ObjectRightsCheckerBase)m_ObjectRightCheckers[xobj.ObjectType];
                bool   bAllow;
                string sErrorDescription;
                if (checker != null)
                {
                    bAllow = checker.HasSaveObjectRight(user, xobj, con, out sErrorDescription);
                }
                else
                {
                    bAllow = m_coveringPrivilegesManager.HasSaveObjectRight(user, xobj, con, out sErrorDescription);
                }
                if (sErrorDescription != null && sErrorDescription.Length > 0)
                {
                    ex = new XSecurityException(sErrorDescription);
                }
                return(bAllow);
            }
        }
示例#4
0
 protected void ExportChoices(Student student, XUser owner)
 {
     for (int i = 0; i < student.Choices.Length; ++i)
     {
         _rows.Add(new XChoice(owner, i + 1, student.Choices[i]));
     }
 }
示例#5
0
        //public Dictionary<Guid, string> GetUserIdDictionary()
        //{
        //    return this._dal.GetUserIdDictionary();
        //}

        private void Validate(XUser member)
        {
            if (string.IsNullOrEmpty(member.UserId))
            {
                throw new LogicalException("UserId cannot be null", "UserId");
            }
            //if (this.IsValidId(member.CreatedBy) == false) { throw new LogicalException("Invalid user id", "CreatedBy"); }
        }
示例#6
0
 public object Get()
 {
     user          = new XUser();
     user.Name     = User.FindFirstValue(ClaimTypes.Name);
     user.Role     = User.FindFirstValue(ClaimTypes.Role);
     user.RealName = User.FindFirstValue(ClaimTypes.GivenName);
     return(user);
 }
示例#7
0
        public XUser Get(Guid id)
        {
            XUser member = null;

            List <SqlParameter> paramList = new List <SqlParameter>();

            paramList.Add(new SqlParameter("@Id", id));

            using (SqlDataReader rdr = base.OpenDataReader(StoredProcs.User_Get, paramList))
            {
                if ((rdr == null) || (!rdr.HasRows))
                {
                    return(null);
                }

                member = new XUser();

                rdr.Read();

                member.UserId    = rdr.GetString(0);
                member.LastName  = rdr.IsDBNull(1) ? string.Empty : rdr.GetString(1);
                member.FirstName = rdr.IsDBNull(2) ? string.Empty : rdr.GetString(2);

                // TODO: Fix this middle initial problem
                //if (!drdSql.IsDBNull(drdSql.GetOrdinal("MName"))) _member.MiddleInitial = (char)drdSql.GetByte(drdSql.GetOrdinal("MName"));
                if (!rdr.IsDBNull(4))
                {
                    member.IsSystem = (bool)rdr[4];
                }

                member.Created   = rdr.GetDateTime(5);
                member.CreatedBy = rdr.GetGuid(6);

                if (!rdr.IsDBNull(7))
                {
                    member.LastModified = rdr.GetDateTime(7);
                }
                if (!rdr.IsDBNull(8))
                {
                    member.LastModifiedBy = rdr.GetGuid(8);
                }

                if (!rdr.IsDBNull(9))
                {
                    member.Deleted = rdr.GetDateTime(9);
                }
                if (!rdr.IsDBNull(10))
                {
                    member.DeletedBy = rdr.GetGuid(10);
                }

                member.Id      = id;
                member.IsNew   = false;
                member.IsDirty = false;

                return(member);
            }
        }
示例#8
0
 public UserDetailDto(XUser user)
 {
     this.UserId      = user.UserId;
     this.UserName    = user.UserName;
     this.Email       = user.Email;
     this.PhoneNumber = user.PhoneNumber;
     this.Status      = user.Status;
     this.UserClaims  = new List <UserClaim>();
 }
        public static IEnumerable <Claim> GetClaims(XUser user)
        {
            List <Claim> claims = new List <Claim>();

            claims.Add(CreateClaim("UserId", user.Id.ToString()));
            claims.Add(CreateClaim("FirstName", user.FirstName));
            claims.Add(CreateClaim("LastName", user.LastName));

            return(claims);
        }
示例#10
0
        protected void ExportUser(Student student)
        {
            var user = new XUser(student, _associations.ContainsKey(student.Key) ? (int?)_associations[student.Key] : null);

            _rows.Add(user);

            this.ExportResults(student.Result, null, user, 2);
            this.ExportEmails(student, user);
            this.ExportChoices(student, user);
            this.ExportAvarages(student, user);
        }
示例#11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = DbHelperSQL.GetDataTable("SELECT TOP 10 TypeID,TypeName,TypePrice,AddBedPrice,IsAddBed,Remark FROM RoomType");
            GridView1.DataBind();
            //记录缓存
            //var user = new User(DateTime.Now,1,"Cheng");
            //CacheHelper.Insert("user", user);

            //记录缓存
            var user = new XUser(1, "Cheng", 18);

            CacheHelperBeta.Insert("user", user);
        }
示例#12
0
        protected void ExportAvarages(Student student, XUser owner)
        {
            foreach (var course in student.Result.Courses.Where(course => !course.ExcludeFromAverage && 0 < course.Credit))
            {
                _rows.Add(new XAvarage(owner, course));
            }

            double missing = student.Result.Credit - student.Result.Courses.Where(course => !course.ExcludeFromAverage && 0 < course.Credit).Sum(course => course.Credit);

            if (missing > 0)
            {
                _rows.Add(new XAvarage(owner, missing));
            }
        }
示例#13
0
        /// <summary>
        /// Запрос разрешенных действий при создании объекта
        /// </summary>
        /// <param name="xuser">Пользователь</param>
        /// <param name="xobj"></param>
        /// <returns></returns>
        public XNewObjectRights GetRightsOnNewObject(XUser xuser, DomainObjectData xobj)
        {
            ITUser user = (ITUser)xuser;

            using (XStorageConnection con = getConnection())
            {
                ObjectRightsCheckerBase checker = (ObjectRightsCheckerBase)m_ObjectRightCheckers[xobj.ObjectType];
                if (checker != null)
                {
                    return(checker.GetRightsOnNewObject(user, xobj, con));
                }
                return(m_coveringPrivilegesManager.GetRightsOnNewObject(user, xobj, con));
            }
        }
示例#14
0
        public void ProcessRequest(HttpContext context)
        {
            string UserName = context.Request["UserName"];

            if (!string.IsNullOrEmpty(UserName))
            {
                //记录登陆状态
                XUser user = new XUser()
                {
                    UserName = UserName,
                    ID       = 1,
                    Age      = 12
                };
                context.Session.Add("UserInfo", user);
                context.Response.Redirect("Index.aspx");
            }
        }
        public async Task <bool> SignIn(SignInRequestDto dto)
        {
            var result = await _signInManager.PasswordSignInAsync(dto.Username, dto.Password, false, lockoutOnFailure : false);

            if (result.Succeeded)
            {
                var ewhAccount = GetUserByUsername(dto.Username);
                this.XUserLogged = ewhAccount;
                //_logger.LogInformation(1, "User logged in.");
                return(true);
            }
            else
            {
                this.XStatus = GlobalStatus.UnSuccess;
            }
            return(false);
        }
示例#16
0
 protected void ExportResults(Result result, XResult parent, XUser owner, int preserveDepth)
 {
     if ((result.Name != null && result.Name.Length > 0 && result.Subresults.Count > 0) || preserveDepth > 0)
     {
         parent = new XResult(owner, parent, result);
         _rows.Add(parent);
     }
     if (result.Subresults.Count == 0 && result.Courses.Count > 0)
     {
         this.ExportCourses(result, parent);
     }
     else
     {
         foreach (var sub in result.Subresults.OrderBy(s => s.Semester == null ? 100 : s.Semester).ThenBy(s => s.Name))
         {
             this.ExportResults(sub, parent, owner, preserveDepth - 1);
         }
     }
 }
示例#17
0
        public void Save(XUser member, Guid userId)
        {
            this.Validate(member);

            var isNew = member.IsNew;

            this._repo.Save(member, userId);

            // TODO: Create the corresponding Asset
            //// create a new asset linked to this user
            //// force the id to match
            //Asset newAsset = new Asset(member.Id, member.UserId, AssetTypeIds.User, null, MemberIds.Admin);
            //newAsset.Approved = newAsset.Created;
            //newAsset.ApprovedBy = newAsset.CreatedBy;
            //newAsset.DisplayValue = member.DisplayValue;
            //newAsset.IsNew = true;
            //newAsset.IsDirty = true;
            //return new AssetLayer().Save(newAsset);
        }
示例#18
0
        private async void btnGetRealmInfo_Click(object sender, EventArgs e)
        {
            Authenticator aithenticator = new Authenticator(Login, password, siteUrl);
            await aithenticator.InitializeAuth();

            XContext context = await aithenticator.GetCookiesAndDigest();

            XUser user = await context.GetCurrentUser();

            XList list = await context.GetList("Tests");

            //List<XListItem> listItems = await list.GetItems();
            //XListItem listItem = await list.GetItemById(23);

            string currentUserCaml =
                @"<Where>
						<Eq>
							<FieldRef Name='Author' LookupId='True' />
							<Value>
								Type='Integer'>
								<UserID />
							</Value>
						</Eq>
					</Where>"                    ;

            List <XListItem> listItems = await list.GetItems(currentUserCaml);

            XListItem item = listItems[0];

            item["Title"] = "new title";
            await item.Update();

            await listItems[0].Delete();
            await listItems[0].Recycle();

            //Upload a photo:
            byte[] imageBytes          = File.ReadAllBytes("photo.jpg");
            string destinationFileName = string.Format("Photo_{0}.jpg", Guid.NewGuid());
            string result = await context.UploadFile(imageBytes, "/Photos/", destinationFileName);

            var file = await context.GetFile("/Photos/", destinationFileName);
        }
示例#19
0
        public XUser GetUser(string username)
        {
            XUser user = null;

            try
            {
                GetUserReq gur = new GetUserReq();
                gur.userid = username;
                GetUserRes gurresponse = _axlService.getUser(gur);
                if (gurresponse != null && gurresponse.@return != null && [email protected] != null)
                {
                    user = [email protected];
                }
            }
            catch (Exception getUserException)
            {
                log.Error("Impossible de récupérer l'utilisateur Cisco " + username + ": " + getUserException.ToString());
            }
            return(user);
        }
示例#20
0
        public bool Save(XUser member, Guid userId)
        {
            if (!member.IsDirty)
            {
                return(true);
            }

            List <SqlParameter> paramList = new List <SqlParameter>();

            paramList.Add(new SqlParameter("@Id", member.Id));
            paramList.Add(new SqlParameter("@UserId", member.UserId));
            paramList.Add(new SqlParameter("@LName", member.LastName));
            paramList.Add(new SqlParameter("@FName", member.FirstName));

            if (member.MiddleInitial.HasValue)
            {
                paramList.Add(new SqlParameter("@MName", member.MiddleInitial.Value.ToString()));
            }
            else
            {
                paramList.Add(new SqlParameter("@MName", null));
            }

            paramList.Add(new SqlParameter("@Created", member.Created));
            paramList.Add(new SqlParameter("@CreatedBy", member.CreatedBy));

            paramList.Add(new SqlParameter("@LastModified", member.LastModified));
            paramList.Add(new SqlParameter("@LastModifiedBy", member.LastModifiedBy));

            if (base.ExecuteSql(StoredProcs.Member_Save, paramList))
            {
                member.IsNew   = false;
                member.IsDirty = false;

                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#21
0
        //public Dictionary<Guid, string> Members_GetDictionary(bool includeDeleted)
        //{
        //    return this.dal.Members_GetDictionary(null, includeDeleted);
        //}

        //public Dictionary<Guid, string> Members_GetDictionary(Guid roleId)
        //{
        //    return this.dal.Members_GetDictionary(roleId, false);
        //}

        //public Dictionary<Guid, string> Members_GetDictionaryNotInRole(Guid roleId)
        //{
        //    return this.dal.Members_GetDictionaryNotInRole(roleId);
        //}

        public new string DisplayValue(Guid memberId)
        {
            XUser m = this.Get(memberId);

            if (m != null)
            {
                if ((string.IsNullOrEmpty(m.FirstName) && (string.IsNullOrEmpty(m.LastName))))
                {
                    return(m.UserId);
                }
                if (m.MiddleInitial.HasValue)
                {
                    return(string.Format("{0}, {1} {2} [{3}]", m.LastName, m.FirstName, m.MiddleInitial.Value.ToString(), m.UserId));
                }
                else
                {
                    return(string.Format("{0}, {1} [{2}]", m.LastName, m.FirstName, m.UserId));
                }
            }
            return(string.Empty);
        }
示例#22
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var   userManager = GetUserManager(context);
            XUser user        = await userManager.FindAsync(context.UserName, context.Password);

            if (user == null)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }

            // TODO: Check if user is active (not locked)
            //if (!user.IsActive)
            //{
            //    context.SetError("account_locked", "Your account has been locked");
            //    return;
            //}

            user.SecurityStamp = Guid.NewGuid().ToString();


            ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager, OAuthDefaults.AuthenticationType);

            oAuthIdentity.AddClaims(ExtendedClaimsProvider.GetClaims(user));
            oAuthIdentity.AddClaims(ExtendedClaimsProvider.CreateRolesBasedOnClaims(oAuthIdentity));

            var props = new AuthenticationProperties(new Dictionary <string, string>
            {
                {
                    "audience", (context.ClientId == null) ? string.Empty : context.ClientId
                }
            });

            var ticket = new AuthenticationTicket(oAuthIdentity, props);

            context.Validated(ticket);
        }
        public ActionResult Create()
        {
            var userName = System.Web.HttpContext.Current.User.Identity.Name;
            var user     = _systemService.GetUserAndRole(0, userName);

            if (user == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            if (user.UserR < 2)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var userItem = new XUser();
            var model    = new UserViewModel
            {
                Id              = userItem.Id,
                UserName        = userItem.UserName,
                FirstName       = userItem.FirstName,
                LastName        = userItem.LastName,
                DepartmentId    = userItem.DepartmentId,
                Department      = userItem.Department,
                Telephone       = userItem.Telephone,
                Mobile          = userItem.Mobile,
                Email           = userItem.Email,
                Enable          = userItem.Enable,
                Password        = userItem.Password,
                StoreId         = userItem.StoreId,
                Store           = userItem.Store,
                CreatedBy       = userItem.CreatedBy,
                Created         = userItem.Created,
                UserR           = userItem.UserR,
                ProjectR        = userItem.ProjectR,
                StoreR          = userItem.StoreR,
                StockR          = userItem.StockR,
                RequisitionR    = userItem.RequisitionR,
                StockOutR       = userItem.StockOutR,
                StockReturnR    = userItem.StockReturnR,
                StockInR        = userItem.StockInR,
                ReActiveStockR  = userItem.ReActiveStockR,
                StockTypeR      = userItem.StockTypeR,
                CategoryR       = userItem.CategoryR,
                PER             = userItem.PER,
                SupplierR       = userItem.SupplierR,
                PriceR          = userItem.PriceR,
                StockServiceR   = userItem.StockServiceR,
                AccountingR     = userItem.AccountingR,
                MaintenanceR    = userItem.MaintenanceR,
                WorkerR         = userItem.WorkerR,
                ShippmentR      = userItem.ShippmentR,
                ReturnSupplierR = userItem.ReturnSupplierR,
                Timestamp       = userItem.Timestamp,
                UserLogin       = user,
                Stores          = new SelectList(_systemService.StoreList(), "Id", "Name"),
                Deparments      = new SelectList(_systemService.GetLookUp(Constants.LuDepartment), Constants.LookUpKey, Constants.LookUpValue),
                Rights          = new SelectList(_systemService.GetLookUp(Constants.LuRight), Constants.LookUpKey, Constants.LookUpValue)
            };

            // FUNCTION
            return(View(model));
        }
示例#24
0
 public bool Update(XUser entity)
 {
     _userRepository.Update(entity);
     _unitOfWork.CommitChanges();
     return(true);
 }
示例#25
0
 public bool Insert(XUser entity)
 {
     _userRepository.Add(entity);
     _unitOfWork.CommitChanges();
     return(true);
 }
示例#26
0
        /// <summary>
        /// Обновляет описание пользователя, которое было сброшено
        /// </summary>
        /// <remarks>
        /// За анализ и управление свойством IsFlushed отвечает XSecurityManager.
        /// </remarks>
        /// <param name="user">Экземпляр XUser или производный, у которого свойство IsFlushed=true</param>
        public void UpdateUser(XUser user)
        {
            ITUser userLoaded = (ITUser)CreateUser(user.Name);

            userLoaded.CopyTo((ITUser)user);
        }