Пример #1
0
        /// <summary>
        /// Creates a user from AD
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        private static User CreateUserFromAD(string username, string password)
        {
            username = username.Split('@').First();

            using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "SIEENA", "daniel.ramirez", "xrZ40uye"))
            {
                UserPrincipal up = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username);

                using (EntityContext ctx = new EntityContext())
                {
                    User u = new User()
                    {
                        Email     = up.EmailAddress,
                        CreatedAt = DateTime.Now.ToCommonTime(),
                        IsActive  = true,
                        Password  = password
                    };

                    ctx.Users.AddObject(u);
                    ctx.SaveChanges();


                    UserInfo ui = new UserInfo()
                    {
                        UserId    = u.UserId,
                        FirstName = up.Name,
                        LastName  = up.Surname
                    };

                    ctx.UserInfos.AddObject(ui);
                    ctx.SaveChanges();

                    User.AddRoles(u, new List <Role>()
                    {
                        Role.GetAll().OrderByDescending(r => r.RoleLevel).First()
                    });

                    return(u);
                }
            }
        }