コード例 #1
0
 protected AdUser DisplayCurUser()
 {
     CurUser = GetCurUser();
     if (CurUser == new AdUser()) RedirectToAction("AccessDenied", "Error");
     ViewBag.CurUser = CurUser;
     return CurUser;
 }
コード例 #2
0
 protected AdUser DisplayCurUser()
 {
     CurUser = GetCurUser();
     if (CurUser == new AdUser())
     {
         RedirectToAction("AccessDenied", "Error");
     }
     ViewBag.CurUser = CurUser;
     return(CurUser);
 }
コード例 #3
0
        public AdUser GetCurUser()
        {
            AdUser user = new AdUser();

            try
            {
                using (WindowsImpersonationContextFacade impersonationContext
                           = new WindowsImpersonationContextFacade(
                                 AdHelper.GetAdUserCredentials()))
                {
                    var wi = (WindowsIdentity)base.User.Identity;
                    if (wi.User != null)
                    {
                        var    domain = new PrincipalContext(ContextType.Domain);
                        string sid    = wi.User.Value;
                        user.Sid = sid;
                        var login = wi.Name.Remove(0, wi.Name.IndexOf("\\", StringComparison.CurrentCulture) + 1);
                        user.Login = login;
                        var userPrincipal = UserPrincipal.FindByIdentity(domain, login);
                        if (userPrincipal != null)
                        {
                            var mail = userPrincipal.EmailAddress;
                            var name = userPrincipal.DisplayName;
                            user.Email    = mail;
                            user.FullName = name;
                            //user.AdGroups = new List<AdGroup>();
                            //var wp = new WindowsPrincipal(wi);
                            //foreach (var role in AdUserGroup.GetList())
                            //{
                            //    var grpSid = new SecurityIdentifier(role.Sid);
                            //    if (wp.IsInRole(grpSid))
                            //    {
                            //        user.AdGroups.Add(role.Group);
                            //    }
                            //}
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return(user);
        }
コード例 #4
0
        public AdUser GetCurUser()
        {
            AdUser user = new AdUser();
            try
            {
                using (WindowsImpersonationContextFacade impersonationContext
                    = new WindowsImpersonationContextFacade(
                        AdHelper.GetAdUserCredentials()))
                {
                    var wi = (WindowsIdentity)base.User.Identity;
                    if (wi.User != null)
                    {
                        var domain = new PrincipalContext(ContextType.Domain);
                        string sid = wi.User.Value;
                        user.Sid = sid;
                        var login = wi.Name.Remove(0, wi.Name.IndexOf("\\", StringComparison.CurrentCulture) + 1);
                        user.Login = login;
                        var userPrincipal = UserPrincipal.FindByIdentity(domain, login);
                        if (userPrincipal != null)
                        {
                            var mail = userPrincipal.EmailAddress;
                            var name = userPrincipal.DisplayName;
                            user.Email = mail;
                            user.FullName = name;
                            //user.AdGroups = new List<AdGroup>();
                            //var wp = new WindowsPrincipal(wi);
                            //foreach (var role in AdUserGroup.GetList())
                            //{
                            //    var grpSid = new SecurityIdentifier(role.Sid);
                            //    if (wp.IsInRole(grpSid))
                            //    {
                            //        user.AdGroups.Add(role.Group);
                            //    }
                            //}
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            return user;
        }
コード例 #5
0
ファイル: TaskPlan.cs プロジェクト: WakeDown/TaskTracker
        public static async Task<IEnumerable<int>> GetListIdsAsync(AdUser curUser, DateTime planDate)
        {
            TaskTrackerContext db = new TaskTrackerContext();

            var list = await db.TaskPlans.Where(x => x.Enabled && DbFunctions.TruncateTime(x.PlanDate) == DbFunctions.TruncateTime(planDate)).Select(x=>x.TaskPlanId).ToListAsync();
            return list;
        }