예제 #1
0
 public PersonaController()
 {
     personaBLL      = new PersonaBLLImpl();
     userBLL         = new UserBLLImpl();
     roleBLL         = new RoleBLLImpl();
     UsersInRolesBLL = new UsersInRolesBLLImpl();
 }
예제 #2
0
 public FrmAddRole(IPrivilegeBLL privilegeBLL, IRoleBLL roleBLL, UserPrincipal currentUser)
 {
     this.privilegeBLL = privilegeBLL;
     this.roleBLL      = roleBLL;
     this.currentUser  = currentUser;
     InitializeComponent();
 }
예제 #3
0
 public FrmRoleInfo(IPrivilegeBLL privilegeBLL, IRoleBLL roleBLL, Role role, UserPrincipal currentUser)
 {
     this.privilegeBLL = privilegeBLL;
     this.roleBLL      = roleBLL;
     this.role         = role;
     this.currentUser  = currentUser;
     InitializeComponent();
 }
예제 #4
0
 public FrmRegister(string header) : base(header)
 {
     InitializeComponent();
     _authBLL = new AuthBLL();
     _roleBLL = new RoleBLL();
     LoadData();
     InitGrid();
     LoadRole();
 }
 public FrmGrantSystemPrivilege(IPrivilegeBLL privilegeBLL, IRoleBLL roleBLL,
                                UserManagementBLL userManagementBLL, UserPrincipal currentUser)
 {
     this.privilegeBLL      = privilegeBLL;
     this.roleBLL           = roleBLL;
     this.userManagementBLL = userManagementBLL;
     this.currentUser       = currentUser;
     InitializeComponent();
 }
예제 #6
0
파일: FrmRegister.cs 프로젝트: aerofanz/PSG
 public FrmRegister(string header) : base(header)
 {
     InitializeComponent();
     _authBLL = new AuthBLL();
     _roleBLL = new RoleBLL();
     LoadData();
     InitGrid();
     LockButton(true, false);
     LockField(false, false);
     LoadRole();
 }
        public string Index()
        {
            var v1 = userBLL.GetUserInfor();
            //没有实现IBLLSupport接口的类 不能使用AutoFac进行创建
            //var v2 = roleBLL.ShowRoleInfor();
            //没有 通过autoFac进行注册的普通类如何进行创建呢?
            IRoleBLL roleBLL = DependencyResolver.Current.GetService <IRoleBLL>();
            var      v2      = roleBLL.ShowRoleInfor();

            return(v1);
        }
예제 #8
0
        public FrmMain()
        {
            InitializeComponent();
            this.currentUser = new UserPrincipal();

            this.context = new IISEntities();

            this.sysViewBLL = new SysViewBLL(this.context);

            this.userManagementBLL        = new UserManagementBLL(this.context);
            this.userManagementClassicBLL = new UserManagementClassicBLL(this.context);

            this.profileBLL   = new ProfileBLL(this.context);
            this.roleBLL      = new RoleBLL(this.context);
            this.privilegeBLL = new PrivilegeBLL(this.context);
        }
예제 #9
0
        public ActionResult Index(LoginFormModel model)
        {
            var item = new LdapDto();

            item = DoLogin(model.Login.UserId);

            IRoleBLL _roleBll = MvcApplication.GetInstance <RoleBLL>();

            if (item.Login != null)
            {
                var roles = _roleBll.GetRoles();
                CurrentUser                = new Login();
                CurrentUser.UserRole       = _roleBll.GetUserRole(item.RoleName);
                CurrentUser.AuthorizePages = roles.Where(x => x.RoleName == item.RoleName).ToList();
                CurrentUser.EMPLOYEE_ID    = item.EmployeeId;
                CurrentUser.USERNAME       = item.DisplayName;
                CurrentUser.USER_ID        = item.Login;

                CurrentUser.LoginFor = new List <LoginFor>();

                var delegationsList = _delegationBLL.GetDelegation().Where(x => x.LoginTo == item.Login &&
                                                                           x.DateFrom <= DateTime.Now &&
                                                                           x.DateTo >= DateTime.Now).ToList();
                foreach (var delegationDto in delegationsList)
                {
                    var loginForDto = DoLogin(delegationDto.LoginFrom);
                    if (loginForDto.Login != null)
                    {
                        CurrentUser.LoginFor.Add(new LoginFor()
                        {
                            UserRole       = _roleBll.GetUserRole(loginForDto.RoleName),
                            AuthorizePages = roles.Where(x => x.RoleName == loginForDto.RoleName).ToList(),
                            EMPLOYEE_ID    = loginForDto.EmployeeId,
                            EMPLOYEE_NAME  = loginForDto.DisplayName,
                            USER_ID        = loginForDto.Login
                        });
                    }
                }


                return(RedirectToAction("Index", "Home"));
            }

            return(RedirectToAction("Unauthorized", "Error"));
        }
예제 #10
0
 public UserController()
 {
     _user   = new UserBll();
     _common = new CommonBll();
     _role   = new RoleBLL();
 }
예제 #11
0
 public RoleController(IRoleBLL roleBLL, IMenuBLL menuBLL)
 {
     _roleBLL = roleBLL;
     _menuBLL = menuBLL;
 }
예제 #12
0
        //
        // GET: /MstComplaint/

        public MstComplaintController(IPageBLL pageBll, IComplaintCategoryBLL complaintCategoryBLL, IRoleBLL RoleBLL) : base(pageBll, Enums.MenuList.MasterComplaintCategory)
        {
            _complaintCategoryBLL = complaintCategoryBLL;
            _roleBLL  = RoleBLL;
            _mainMenu = Enums.MenuList.MasterData;
        }
예제 #13
0
 public SysUserController(IUserService _userService, IDepService _depService, IRoleBLL _roleBLL)
 {
     userService = _userService;
     depService  = _depService;
     roleBll     = _roleBLL;
 }
예제 #14
0
        static void Main(string[] args)
        {
            //引入ioc框架之前的几种写法

            Console.WriteLine("最原始的写法直接new(需添加对BLL层的引用):");
            UserBLL bll    = new UserBLL();
            var     result = bll.GetUserInfor();

            Console.WriteLine(result);

            Console.WriteLine("面向接口的写法(仍需添加对BLL层的引用):");
            IUserBLL ibll    = new UserBLL();
            var      result1 = ibll.GetUserInfor();

            Console.WriteLine(result1);

            Console.WriteLine("接口+反射(只需将BLL层的程序集拷贝进来):");
            Assembly ass  = Assembly.Load("Ypf.BLL");
            Type     type = ass.GetType("Ypf.BLL.UserBLL");
            //调用默认的无参构造函数进行初始化对象
            object   myUserBll = Activator.CreateInstance(type);
            IUserBLL ibll1     = (IUserBLL)myUserBll;
            var      result2   = ibll1.GetUserInfor();

            Console.WriteLine(result2);

            Console.WriteLine("手写IOC(反射+简单工厂+配置文件)【需将BLL层的程序集拷贝进来】:");
            IUserBLL ibll2   = SimpleFactory.CreateInstance();
            var      result3 = ibll2.GetUserInfor();

            Console.WriteLine(result3);

            // AutoFac常见用法总结
            //基本用法(评价:这种用法单纯的是为了介绍AutoFac中的几个方法,仅此而已,在实际开发没有这么用的,坑比用法,起不到任何解耦的作用)
            Console.WriteLine("AutoFac常见用法总结 基本用法:");
            ContainerBuilder builder = new ContainerBuilder();

            //把UserBLL注册为IUserBLL实现类,当请求IUserBLL接口的时候,返回UserBLL对象
            builder.RegisterType <UserBLL>().As <IUserBLL>();
            IContainer resolver = builder.Build();//容器接口
            IUserBLL   userBLL  = resolver.Resolve <IUserBLL>();
            var        result4  = userBLL.GetUserInfor();

            Console.WriteLine(result4);

            //AsImplementedInterfaces的用法(评价:同时添加对Ypf.BLL层和Ypf.IBLL层的引用,这里也是单纯的为了介绍AsImplementedInterfaces()的用法,还是存在实现类的身影,在实际开发中没有这么用的,起不到任何解耦的作用,坑比用法)
            Console.WriteLine("AsImplementedInterfaces的用法:");
            ContainerBuilder builder1 = new ContainerBuilder();

            builder1.RegisterType <UserBLL>().AsImplementedInterfaces();
            IContainer resolver1  = builder1.Build();
            IUserBLL   iuserBLL1  = resolver1.Resolve <IUserBLL>();
            IPeopleBLL ipeopleBLL = resolver1.Resolve <IPeopleBLL>();
            var        result5    = iuserBLL1.GetUserInfor();
            var        result6    = ipeopleBLL.Introduce();

            Console.WriteLine(result5);
            Console.WriteLine(result6);

            //AutoFac+反射(彻底消灭实现类)(评价:彻底摆脱了实现类的身影,与Ypf.BLL层进行了解耦,只需要添加对Ypf.IBLL层的引用,但需要把Ypf.BLL的程序集拷贝到AutoFacTest项目下。)
            Console.WriteLine("AutoFac+反射(彻底消灭实现类):");
            ContainerBuilder builder2 = new ContainerBuilder();
            Assembly         ass1     = Assembly.Load("Ypf.BLL");

            builder2.RegisterAssemblyTypes(ass1).AsImplementedInterfaces();
            IContainer resolver2   = builder2.Build();
            IUserBLL   iuserBLL2   = resolver2.Resolve <IUserBLL>();
            IPeopleBLL ipeopleBLL2 = resolver2.Resolve <IPeopleBLL>();
            var        result7     = iuserBLL2.GetUserInfor();
            var        result8     = ipeopleBLL2.Introduce();

            Console.WriteLine(result7);
            Console.WriteLine(result8);

            //AutoFac+反射(通过配置文件获取)
            Console.WriteLine("通过配置文件获取:");
            ContainerBuilder builder3 = new ContainerBuilder();
            string           DLLName  = ConfigurationManager.AppSettings["DllName"].ToString();
            Assembly         ass3     = Assembly.Load(DLLName);

            builder3.RegisterAssemblyTypes(ass3).AsImplementedInterfaces();
            IContainer resolver3   = builder3.Build();
            IUserBLL   iuserBLL3   = resolver3.Resolve <IUserBLL>();
            IPeopleBLL ipeopleBLL3 = resolver3.Resolve <IPeopleBLL>();
            var        result9     = iuserBLL3.GetUserInfor();
            var        result10    = ipeopleBLL3.Introduce();

            Console.WriteLine(result9);
            Console.WriteLine(result10);

            //PropertiesAutowired(属性的自动注入)
            Console.WriteLine("PropertiesAutowired(属性的自动注入):");
            ContainerBuilder builder4 = new ContainerBuilder();
            Assembly         ass4     = Assembly.Load(DLLName);

            builder4.RegisterAssemblyTypes(ass4).AsImplementedInterfaces().PropertiesAutowired();
            IContainer resolver4 = builder4.Build();
            IRoleBLL   iroleBLL  = resolver4.Resolve <IRoleBLL>();
            var        result11  = iroleBLL.ShowDIDemo();

            Console.WriteLine(result11);

            //1个接口多个实现类的情况
            Console.WriteLine("1个接口多个实现类的情况");
            ContainerBuilder builder5 = new ContainerBuilder();
            Assembly         ass5     = Assembly.Load(DLLName);

            builder5.RegisterAssemblyTypes(ass5).AsImplementedInterfaces();
            IContainer resolver5          = builder5.Build();
            IEnumerable <IAnimalBLL> blls = resolver5.Resolve <IEnumerable <IAnimalBLL> >();

            foreach (var animalBll in blls)
            {
                Console.WriteLine(animalBll.GetType());
                Console.WriteLine(animalBll.Introduce());
            }

            //AutoFac的几种常见生命周期
            Console.WriteLine("AutoFac的几种常见生命周期:InstancePerDependency");
            ContainerBuilder builder6 = new ContainerBuilder();
            Assembly         ass6     = Assembly.Load(DLLName);

            builder6.RegisterAssemblyTypes(ass6).AsImplementedInterfaces().InstancePerDependency();
            IContainer resolver6 = builder6.Build();
            IUserBLL   iUserBLL1 = resolver6.Resolve <IUserBLL>();
            IUserBLL   iUserBLL2 = resolver6.Resolve <IUserBLL>();

            Console.WriteLine(object.ReferenceEquals(iUserBLL1, iUserBLL2));

            Console.WriteLine("AutoFac的几种常见生命周期:SingleInstance,单例,只有在第一次请求的时候创建");
            ContainerBuilder builder7 = new ContainerBuilder();
            Assembly         ass7     = Assembly.Load(DLLName);

            builder7.RegisterAssemblyTypes(ass7).AsImplementedInterfaces().SingleInstance();
            IContainer resolver7 = builder7.Build();
            IUserBLL   iUserBLL3 = resolver7.Resolve <IUserBLL>();
            IUserBLL   iUserBLL4 = resolver7.Resolve <IUserBLL>();

            Console.WriteLine(object.ReferenceEquals(iUserBLL3, iUserBLL4));

            Console.WriteLine();



            Console.ReadKey();
        }
예제 #15
0
 public RoleController(IRoleBLL role)
 {
     _role = role;
 }
예제 #16
0
 public RoleManagerController(IRoleBLL _bll)
 {
     _service = _bll;
 }
예제 #17
0
 public SysRoleController(IRoleService _roleService, IRoleBLL _roleBLL)
 {
     roleService = _roleService;
     //roleBll = IocConfig.Container.Resolve<RoleBLL>();
     roleBll = _roleBLL;
 }
예제 #18
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public RoleController(IRoleBLL roleBLL)
 {
     _roleBLL = roleBLL;
 }
예제 #19
0
        public List <LdapDto> GetRoleUsers()
        {
            IRoleBLL _userBll = MvcApplication.GetInstance <RoleBLL>();
            EntityConnectionStringBuilder e = new EntityConnectionStringBuilder(ConfigurationManager.ConnectionStrings["FMSEntities"].ConnectionString);
            string        connectionString  = e.ProviderConnectionString;
            SqlConnection con = new SqlConnection(connectionString);

            con.Open();
            var list    = new List <String>();
            var typeEnv = ConfigurationManager.AppSettings["Environment"];
            var getrole = new List <LdapDto>();

            SqlCommand query =
                new SqlCommand("SELECT SETTING_VALUE FROM MST_SETTING WHERE SETTING_GROUP = 'USER_ROLE'", con);
            SqlDataReader reader = query.ExecuteReader();

            while (reader.Read())
            {
                var roleName = reader[0].ToString();
                list.Add(roleName);
            }
            reader.Close();

            if (typeEnv == "VTI")
            {
                query =
                    new SqlCommand("SELECT AD_GROUP, EMPLOYEE_ID, LOGIN,DISPLAY_NAME, EMAIL from LOGIN_FOR_VTI",
                                   con);

                reader = query.ExecuteReader();
                while (reader.Read())
                {
                    var data = new LdapDto();
                    data.ADGroup     = reader[0].ToString();
                    data.EmployeeId  = reader[1].ToString();
                    data.Login       = reader[2].ToString();
                    data.DisplayName = reader[3].ToString();
                    data.RoleName    = "USER";
                    var arsplit = new List <string>();
                    if (!string.IsNullOrEmpty(data.ADGroup))
                    {
                        arsplit = data.ADGroup.Split(' ').ToList();
                        arsplit.RemoveAt(arsplit.Count - 1);
                        arsplit.RemoveAt(arsplit.Count - 1);
                        data.RoleName = string.Join(" ", arsplit.ToArray());
                        data.RoleName = data.RoleName.Substring(23);
                        getrole.Add(data);
                    }
                }
                reader.Close();
            }
            else
            {
                foreach (var item in list)
                {
                    query =
                        new SqlCommand(
                            "SELECT ADGroup = '" + item +
                            "', employeeID, login = sAMAccountName, displayName FROM OPENQUERY(ADSI, 'SELECT employeeID, sAMAccountName, displayName, name, givenName, whenCreated, whenChanged, SN, manager, distinguishedName, info FROM ''LDAP://DC=PMINTL,DC=NET'' WHERE memberOf = ''CN = " +
                            item +
                            ", OU = ID, OU = Security, OU = IMDL Managed Groups, OU = Global, OU = Users & Workstations, DC = PMINTL, DC = NET''') ",
                            con);
                    reader = query.ExecuteReader();
                    while (reader.Read())
                    {
                        var data = new LdapDto();
                        data.ADGroup     = reader[0].ToString();
                        data.EmployeeId  = reader[1].ToString();
                        data.Login       = reader[2].ToString();
                        data.DisplayName = reader[3].ToString();
                        var arsplit = data.ADGroup.Split(' ').ToList();
                        arsplit.RemoveAt(arsplit.Count - 1);
                        arsplit.RemoveAt(arsplit.Count - 1);
                        data.RoleName = string.Join(" ", arsplit.ToArray());
                        data.RoleName = data.RoleName.Substring(23);
                        getrole.Add(data);
                    }
                    reader.Close();
                }
            }


            return(getrole);
        }