Exemple #1
0
 public ScriptManager(EphItContext dbContext, IEphItUser ephItUser, IUserAuthorization userAuth, IAuditLogger auditLogger)
 {
     _dbContext   = dbContext;
     _ephItUser   = ephItUser;
     _userAuth    = userAuth;
     _auditLogger = auditLogger;
 }
Exemple #2
0
 public ScriptController(EphItContext dbContext, IEphItUser ephItUser, IUserAuthorization userAuth, IScriptManager scriptManager)
 {
     _dbContext     = dbContext;
     _ephItUser     = ephItUser;
     _userAuth      = userAuth;
     _scriptManager = scriptManager;
 }
 public EphItAuthRequirementHandler(
     EphItContext dbContext
     , IHttpContextAccessor httpContextAccessor
     , IUserAuthorization userAuth
     )
 {
     _dbContext           = dbContext;
     _httpContextAccessor = httpContextAccessor;
     _userAuth            = userAuth;
 }
 public VariableController(EphItContext dbContext, IEphItUser ephItUser)
 {
     _dbContext = dbContext;
     _ephItUser = ephItUser;
 }
Exemple #5
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IEphItUser user, EphItContext db)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebAssemblyDebugging();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
#if DEBUG
            // this will drop the DB - don't deploy Debug

            var dropDb = Environment.GetEnvironmentVariable("ASPNETCORE_DROPDB");
            if (dropDb == "True")
            {
                db.Database.EnsureDeleted();
            }
#endif
            ConfigureDb(user, db);

            app.UseHttpsRedirection();
            app.UseBlazorFrameworkFiles();
            app.UseStaticFiles();

            app.UseSerilogRequestLogging();

            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapControllers();
                endpoints.MapFallbackToFile("index.html");
                endpoints.AddOMyEFRoute <EphItContext>();
            });
        }
Exemple #6
0
        public void ConfigureDb(IEphItUser user, EphItContext _context)
        {
            if (_context.Database.GetPendingMigrations().Any())
            {
                _context.Database.Migrate();
                var internalUser = _context.User.Where(p => p.AuthenticationId.Equals((short)AuthenticationEnum.EphItInternal)).First();
                var admin        = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault();
                if (admin == null)
                {
                    admin = new Role();
                    admin.CreatedByUserId  = internalUser.UserId;
                    admin.Created          = DateTime.UtcNow;
                    admin.Description      = "Full administrator of all objects";
                    admin.Name             = "Administrators";
                    admin.IsGlobal         = true;
                    admin.Modified         = DateTime.UtcNow;
                    admin.ModifiedByUserId = internalUser.UserId;
                    _context.Add(admin);
                    _context.SaveChanges();
                }
                foreach (RBACActionEnum a in (RBACActionEnum[])Enum.GetValues(typeof(RBACActionEnum)))
                {
                    foreach (RBACObjectEnum b in (RBACObjectEnum[])Enum.GetValues(typeof(RBACObjectEnum)))
                    {
                        if (!_context.RoleObjectAction.Where(p =>
                                                             p.RoleId.Equals(admin.RoleId) &&
                                                             p.RbacObjectId.Equals((short)b) &&
                                                             p.RbacActionId.Equals((short)a)
                                                             )
                            .Any()
                            )
                        {
                            var tempObject = new RoleObjectAction();
                            tempObject.RoleId       = admin.RoleId;
                            tempObject.RbacObjectId = (short)b;
                            tempObject.RbacActionId = (short)a;
                            _context.Add(tempObject);
                        }
                    }
                }
                _context.SaveChanges();
            }
            // Add current user to full admin role
            var vUser = user.RegisterCurrent();

            if (!_context.RoleMembershipUser.Where(p => p.UserId == vUser.UserId && p.Role.Name.Equals("Administrators")).Any())
            {
                var admin             = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault();
                var newRoleMembership = new RoleMembershipUser();
                newRoleMembership.RoleId = admin.RoleId;
                newRoleMembership.UserId = vUser.UserId;
                _context.Add(newRoleMembership);
            }
            _context.SaveChanges();
            IConfigurationSection configSection = Configuration.GetSection("AdminUsers");

            if (configSection != null)
            {
                foreach (var section in configSection.GetChildren())
                {
                    var    paramDictionary = new Dictionary <string, string>();
                    string authType        = "";
                    switch (section["AuthenticationType"])
                    {
                    case "AzureActiveDirectory":
                        authType        = "AzureActiveDirectory";
                        paramDictionary = new Dictionary <string, string>()
                        {
                            { "TenantId", section["TenantId"] },
                            { "ObjectId", section["ObjectId"] },
                            { "UserName", section["UserName"] },
                            { "Name", section["Name"] },
                            { "Email", section["Email"] }
                        };
                        break;
                    }
                    if (!String.IsNullOrEmpty(authType))
                    {
                        var aUser = user.Register(authType, paramDictionary);
                        if (!_context.RoleMembershipUser.Where(p => p.UserId == aUser.UserId && p.Role.Name.Equals("Administrators")).Any())
                        {
                            var admin             = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault();
                            var newRoleMembership = new RoleMembershipUser();
                            newRoleMembership.RoleId = admin.RoleId;
                            newRoleMembership.UserId = aUser.UserId;
                            _context.Add(newRoleMembership);
                        }
                        _context.SaveChanges();
                    }
                }
            }
        }
 public ScriptVersionController(EphItContext dbContext, IEphItUser ephItUser)
 {
     _dbContext = dbContext;
     _ephItUser = ephItUser;
 }
Exemple #8
0
 public JobManager(EphItContext context, ILogger <JobManager> logger)
 {
     _context = context;
     _logger  = logger;
 }
 public EphItUser(EphItContext context, IHttpContextAccessor httpContextAccessor)
 {
     _db          = context;
     _httpContext = httpContextAccessor;
 }
 public ODataScriptVersions(EphItContext context, IEphItUser ephItUser)
 {
     _dbContext = context;
     DbContext  = _dbContext;
     _ephItUser = ephItUser;
 }
 public UserAuthorization(IEphItUser userObj, EphItContext context)
 {
     _userObj = userObj;
     _db      = context;
 }
Exemple #12
0
        public void ConfigureDb(IEphItUser user, EphItContext _context)
        {
            bool migrateDb = true;

            try
            {
                migrateDb = _context.Database.EnsureCreated();
                if (!migrateDb)
                {
                    migrateDb = _context.Database.GetPendingMigrations().Any();
                }
            }
            catch
            {
                migrateDb = true;
            }
            if (migrateDb)
            {
                _context.Database.Migrate();
                var internalUser = _context.User.Where(p => p.AuthenticationId.Equals((short)AuthenticationEnum.EphItInternal)).First();
                var admin        = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault();
                if (admin == null)
                {
                    admin = new Role();
                    admin.CreatedByUserId  = internalUser.UserId;
                    admin.Created          = DateTime.UtcNow;
                    admin.Description      = "Full administrator of all objects";
                    admin.Name             = "Administrators";
                    admin.IsGlobal         = true;
                    admin.Modified         = DateTime.UtcNow;
                    admin.ModifiedByUserId = internalUser.UserId;
                    _context.Add(admin);
                    _context.SaveChanges();
                }
                foreach (RBACActionEnum a in (RBACActionEnum[])Enum.GetValues(typeof(RBACActionEnum)))
                {
                    foreach (RBACObjectEnum b in (RBACObjectEnum[])Enum.GetValues(typeof(RBACObjectEnum)))
                    {
                        if (!_context.RoleObjectAction.Where(p =>
                                                             p.RoleId.Equals(admin.RoleId) &&
                                                             p.RbacObjectId.Equals((short)b) &&
                                                             p.RbacActionId.Equals((short)a)
                                                             )
                            .Any()
                            )
                        {
                            var tempObject = new RoleObjectAction();
                            tempObject.RoleId       = admin.RoleId;
                            tempObject.RbacObjectId = (short)b;
                            tempObject.RbacActionId = (short)a;
                            _context.Add(tempObject);
                        }
                    }
                }
                _context.SaveChanges();
            }
            // Add current user to full admin role
            var vUser = user.RegisterCurrent();

            if (!_context.RoleMembershipUser.Where(p => p.UserId == vUser.UserId && p.Role.Name.Equals("Administrators")).Any())
            {
                var admin             = _context.Role.Where(p => p.Name.Equals("Administrators")).FirstOrDefault();
                var newRoleMembership = new RoleMembershipUser();
                newRoleMembership.RoleId = admin.RoleId;
                newRoleMembership.UserId = vUser.UserId;
                _context.Add(newRoleMembership);
            }
            _context.SaveChanges();
        }