示例#1
0
 public void SaveToCache(YnUser ynUser, int moduleId)
 {
     if (ynUser != null)
     {
         try
         {
             bool       isSaveToCache = false;
             YnWebRight ynWebRight    = new YnWebRight();
             ynWebRight.moduleId = moduleId;
             if (YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId))
             {
                 isSaveToCache          = true;
                 ynWebRight.rightManage = true;
                 ynWebRight.rightAdd    = true;
                 ynWebRight.rightEdit   = true;
                 ynWebRight.rightDelete = true;
                 ynWebRight.rightVerify = true;
             }
             else
             {
                 YnWebModuleUserLink ynWebModuleUserLink = YnWebModuleUserLinkService.GetInstance().Get(ynUser.userId, moduleId);
                 if (ynWebModuleUserLink != null)
                 {
                     isSaveToCache          = true;
                     ynWebRight.rightManage = ynWebModuleUserLink.rightManage;
                     ynWebRight.rightAdd    = ynWebRight.rightManage || ynWebModuleUserLink.rightAdd;
                     ynWebRight.rightEdit   = ynWebRight.rightManage || ynWebModuleUserLink.rightEdit;
                     ynWebRight.rightDelete = ynWebRight.rightManage || ynWebModuleUserLink.rightDelete;
                     ynWebRight.rightVerify = ynWebModuleUserLink.rightVerify;// ynWebRight.rightManage ||
                 }
                 string roleIds = GetRoleIds(ynUser.userId);
                 if (!string.IsNullOrEmpty(roleIds))
                 {
                     List <YnWebModuleRoleLink> listYnWebModuleRoleLink = YnWebModuleRoleLinkService.GetInstance().GetList(roleIds, moduleId);
                     if (listYnWebModuleRoleLink != null && listYnWebModuleRoleLink.Count > 0)
                     {
                         isSaveToCache = true;
                         foreach (YnWebModuleRoleLink ynWebModuleRoleLink in listYnWebModuleRoleLink)
                         {
                             ynWebRight.rightManage = ynWebModuleRoleLink.rightManage || ynWebRight.rightManage;
                             ynWebRight.rightAdd    = (ynWebRight.rightManage || ynWebModuleRoleLink.rightAdd) || ynWebRight.rightAdd;
                             ynWebRight.rightEdit   = (ynWebRight.rightManage || ynWebModuleRoleLink.rightEdit) || ynWebRight.rightEdit;
                             ynWebRight.rightDelete = (ynWebRight.rightManage || ynWebModuleRoleLink.rightDelete) || ynWebRight.rightDelete;
                             ynWebRight.rightVerify = (ynWebModuleRoleLink.rightVerify) || ynWebRight.rightVerify;//ynWebRight.rightManage ||
                         }
                     }
                 }
             }
             if (isSaveToCache)
             {
                 //SaveToCache(ynUser.userId, ynWebRight, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);
                 SaveToCache(ynUser.userId + "_" + moduleId.ToString(), ynWebRight);
             }
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
示例#2
0
        public List <YnWebAccMenuTree> GetYnWebAccMenuTreeList(YnUser ynUser)
        {
            try
            {
                List <YnWebAccMenuTree> listYnWebAccMenuTree = null;
                if (YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId))
                {
                    listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetList(string.Empty, string.Empty, string.Empty);
                }
                else
                {
                    listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetListByUser(ynUser);
                }
                return(listYnWebAccMenuTree);

                /*if(listYnWebAccMenuTree!=null){
                 *              //根据tree获取accmenu
                 *              List<YnWebAccMenu> listYnWebAccMenu = new List<YnWebAccMenu>();
                 *              foreach(YnWebAccMenuTree ynWebAccMenuTree in listYnWebAccMenuTree){
                 *                      if(ynWebAccMenuTree.getYnWebAccMenu()!=null){
                 *                              YnWebAccMenu ynWebAccMenu=null;
                 *                              for(YnWebAccMenu _ynWebAccMenu :listYnWebAccMenu){
                 *                                      if(ynWebAccMenuTree.getYnWebAccMenu().getId().equals(_ynWebAccMenu.getId())){
                 *                                              ynWebAccMenu=_ynWebAccMenu;
                 *                                              break;
                 *                                      }
                 *                              }
                 *                              if(ynWebAccMenu==null){
                 *                                      listYnWebAccMenu.add(ynWebAccMenuTree.getYnWebAccMenu());
                 *                              }
                 *                      }
                 *              }
                 *              GenerationMenu( listYnWebAccMenu, listYnWebAccMenuTree);*/
                /*//根据accmenu生成菜单
                 * for(YnWebAccMenu _ynWebAccMenu :listYnWebAccMenu){
                 *  if(ynWebAccMenuTree.getYnWebAccMenu().getId()==_ynWebAccMenu.getId()){
                 *      ynWebAccMenu=_ynWebAccMenu;
                 *      break;
                 *  }
                 * }*/
                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(null);
        }
示例#3
0
        public void AccMenu()
        {
            List <YnWebAccMenu> listYnWebAccMenu = null;

            try
            {
                YnUser ynUser = FormsAuthenticationService.GetInstance().GetTicketUserData();
                //ynUser = YnFrame.Services.YnUserService.GetInstance().Get(ynUser.userId);
                if (ynUser != null)
                {
                    listYnWebAccMenu = YnPermission.GetInstance().GetYnWebAccMenuList(ynUser);
                }
            }
            catch (Exception ex)
            {
                //throw ex;
            }
        }
示例#4
0
        public bool UpdateUser(string ticket, string _ynUser, ref string message)
        {
            try
            {
                message = "";
                if (!IsTicketValid(ticket))
                {
                    throw new Exception("票证验证失败!");
                }

                YnUser ynUser = (YnUser)YnBaseClass2.Helper.ObjectHelper.Deserialize(typeof(YnUser), _ynUser);
                //ynUser.lastLoginDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                YnUserService.GetInstance().Update(ynUser);
                return(true);
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }
            return(false);
        }
示例#5
0
        public List <YnWebAccMenu> GetYnWebAccMenuList(YnUser ynUser)
        {
            List <YnWebAccMenu> listYnWebAccMenu = null;

            if (ynUser != null)
            {
                List <YnWebAccMenuTree> listYnWebAccMenuTree = GetYnWebAccMenuTreeList(ynUser);
                if (listYnWebAccMenuTree != null && listYnWebAccMenuTree.Count > 0)
                {
                    listYnWebAccMenu = new List <YnWebAccMenu>();
                    IEnumerable <IGrouping <YnWebAccMenu, YnWebAccMenuTree> > result = listYnWebAccMenuTree.GroupBy(P => P.ynWebAccMenu);
                    foreach (IGrouping <YnWebAccMenu, YnWebAccMenuTree> ig in result)
                    {
                        YnWebAccMenu  ynWebAccMenu = ig.Key;
                        StringBuilder sb           = new StringBuilder();
                        int           count        = ig.Count();
                        if (count > 0)
                        {
                            int parentId = ig.Min(P => P.parentId);
                            List <YnWebAccMenuTree> listAccMenuTree = ig.ToList();
                            sb.Append("<ul id=\"" + parentId + "\" class=\"easyui-tree\" animate=\"true\">");// dnd=\"true\"
                            List <YnWebAccMenuTree> parentList = listAccMenuTree.Where(P => P.parentId == parentId).ToList();
                            foreach (YnWebAccMenuTree ynWebAccMenuTree in parentList)
                            {
                                string url = string.Empty;
                                if (ynWebAccMenuTree.ynWebModule != null && ynWebAccMenuTree.ynWebModule.url != null && !string.IsNullOrEmpty(ynWebAccMenuTree.ynWebModule.url.Trim()))
                                {
                                    url  = ynWebAccMenuTree.ynWebModule.url.Trim();
                                    url += "?mi=" + ynWebAccMenuTree.ynWebModule.id;
                                    if (!string.IsNullOrEmpty(ynWebAccMenuTree.ynWebModule.parameter))
                                    {
                                        url += "&parameter=" + System.Web.HttpContext.Current.Server.UrlEncode(ynWebAccMenuTree.ynWebModule.parameter);
                                    }
                                }
                                string onclick = "";
                                if (!string.IsNullOrEmpty(url))
                                {
                                    onclick = "onclick=\"openTab('" + ynWebAccMenuTree.name + "','" + url.Trim() + "')\"";
                                }

                                sb.Append("<li iconCls=\"" + ynWebAccMenuTree.iconCls + "\">");
                                sb.Append("<span><a href=\"javascript:void(0);\" " + onclick + ">" + ynWebAccMenuTree.name + "</a></span>");
                                List <YnWebAccMenuTree> childList = listAccMenuTree.Where(P => P.parentId == ynWebAccMenuTree.id).ToList();
                                if (childList.Count > 0)
                                {
                                    GetAccMenuTree(ynWebAccMenuTree.id, listAccMenuTree, sb);
                                }
                                sb.Append("</li>");
                            }
                            sb.Append("</ul>");
                        }
                        ynWebAccMenu.accMenuTree = sb.ToString();
                        listYnWebAccMenu.Add(ynWebAccMenu);
                    }
                }
            }
            if (listYnWebAccMenu != null)
            {
                //排序
                YnBaseClass2.YnUc.SortableBindingList <YnWebAccMenu> sortableBindingLis1 = new YnBaseClass2.YnUc.SortableBindingList <YnWebAccMenu>(listYnWebAccMenu);
                sortableBindingLis1.SortDirection   = System.ComponentModel.ListSortDirection.Ascending;
                sortableBindingLis1.DefaultSortItem = "sortNo";
                //return listYnWebAccMenu;
                return(sortableBindingLis1.ToList());
            }
            return(null);
        }
示例#6
0
 public void SaveToCache(YnUser ynUser, int moduleId)
 {
     if (ynUser != null)
     {
         try
         {
             bool isSaveToCache = false;
             YnWebRight ynWebRight = new YnWebRight();
             ynWebRight.moduleId = moduleId;
             if (YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId))
             {
                 isSaveToCache = true;
                 ynWebRight.rightManage = true;
                 ynWebRight.rightAdd = true;
                 ynWebRight.rightEdit = true;
                 ynWebRight.rightDelete = true;
                 ynWebRight.rightVerify = true;
             }
             else
             {
                 YnWebModuleUserLink ynWebModuleUserLink = YnWebModuleUserLinkService.GetInstance().Get(ynUser.userId, moduleId);
                 if (ynWebModuleUserLink != null)
                 {
                     isSaveToCache = true;
                     ynWebRight.rightManage = ynWebModuleUserLink.rightManage;
                     ynWebRight.rightAdd = ynWebRight.rightManage || ynWebModuleUserLink.rightAdd;
                     ynWebRight.rightEdit = ynWebRight.rightManage || ynWebModuleUserLink.rightEdit;
                     ynWebRight.rightDelete = ynWebRight.rightManage || ynWebModuleUserLink.rightDelete;
                     ynWebRight.rightVerify = ynWebModuleUserLink.rightVerify;// ynWebRight.rightManage ||
                 }
                 string roleIds = GetRoleIds(ynUser.userId);
                 if (!string.IsNullOrEmpty(roleIds))
                 {
                     List<YnWebModuleRoleLink> listYnWebModuleRoleLink = YnWebModuleRoleLinkService.GetInstance().GetList(roleIds, moduleId);
                     if (listYnWebModuleRoleLink != null && listYnWebModuleRoleLink.Count > 0)
                     {
                         isSaveToCache = true;
                         foreach (YnWebModuleRoleLink ynWebModuleRoleLink in listYnWebModuleRoleLink)
                         {
                             ynWebRight.rightManage = ynWebModuleRoleLink.rightManage || ynWebRight.rightManage;
                             ynWebRight.rightAdd = (ynWebRight.rightManage || ynWebModuleRoleLink.rightAdd) || ynWebRight.rightAdd;
                             ynWebRight.rightEdit = (ynWebRight.rightManage || ynWebModuleRoleLink.rightEdit) || ynWebRight.rightEdit;
                             ynWebRight.rightDelete = (ynWebRight.rightManage || ynWebModuleRoleLink.rightDelete) || ynWebRight.rightDelete;
                             ynWebRight.rightVerify = (ynWebModuleRoleLink.rightVerify) || ynWebRight.rightVerify;//ynWebRight.rightManage ||
                         }
                     }
                 }
             }
             if (isSaveToCache)
                 //SaveToCache(ynUser.userId, ynWebRight, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);
                 SaveToCache(ynUser.userId + "_" + moduleId.ToString(), ynWebRight);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
示例#7
0
 public List<YnWebAccMenuTree> GetYnWebAccMenuTreeList(YnUser ynUser)
 {
     try
     {
         List<YnWebAccMenuTree> listYnWebAccMenuTree = null;
         if (YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId))
         {
             listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetList(string.Empty, string.Empty, string.Empty);
         }
         else
         {
             listYnWebAccMenuTree = YnWebAccMenuTreeService.GetInstance().GetListByUser(ynUser);
         }
         return listYnWebAccMenuTree;
         /*if(listYnWebAccMenuTree!=null){
         //根据tree获取accmenu
         List<YnWebAccMenu> listYnWebAccMenu = new List<YnWebAccMenu>();
         foreach(YnWebAccMenuTree ynWebAccMenuTree in listYnWebAccMenuTree){
             if(ynWebAccMenuTree.getYnWebAccMenu()!=null){
                 YnWebAccMenu ynWebAccMenu=null;
                 for(YnWebAccMenu _ynWebAccMenu :listYnWebAccMenu){
                     if(ynWebAccMenuTree.getYnWebAccMenu().getId().equals(_ynWebAccMenu.getId())){
                         ynWebAccMenu=_ynWebAccMenu;
                         break;
                     }
                 }
                 if(ynWebAccMenu==null){
                     listYnWebAccMenu.add(ynWebAccMenuTree.getYnWebAccMenu());
                 }
             }
         }
         GenerationMenu( listYnWebAccMenu, listYnWebAccMenuTree);*/
         /*//根据accmenu生成菜单
         for(YnWebAccMenu _ynWebAccMenu :listYnWebAccMenu){
             if(ynWebAccMenuTree.getYnWebAccMenu().getId()==_ynWebAccMenu.getId()){
                 ynWebAccMenu=_ynWebAccMenu;
                 break;
             }
         }*/
         //}
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return null;
 }
示例#8
0
        public List<YnWebAccMenu> GetYnWebAccMenuList(YnUser ynUser)
        {
            List<YnWebAccMenu> listYnWebAccMenu = null;
            if (ynUser != null)
            {
                List<YnWebAccMenuTree> listYnWebAccMenuTree = GetYnWebAccMenuTreeList(ynUser);
                if (listYnWebAccMenuTree != null && listYnWebAccMenuTree.Count > 0)
                {
                    listYnWebAccMenu = new List<YnWebAccMenu>();
                    IEnumerable<IGrouping<YnWebAccMenu, YnWebAccMenuTree>> result = listYnWebAccMenuTree.GroupBy(P => P.ynWebAccMenu);
                    foreach (IGrouping<YnWebAccMenu, YnWebAccMenuTree> ig in result)
                    {
                        YnWebAccMenu ynWebAccMenu = ig.Key;
                        StringBuilder sb = new StringBuilder();
                        int count = ig.Count();
                        if (count > 0)
                        {
                            int parentId = ig.Min(P => P.parentId);
                            List<YnWebAccMenuTree> listAccMenuTree = ig.ToList();
                            sb.Append("<ul id=\"" + parentId + "\" class=\"easyui-tree\" animate=\"true\">");// dnd=\"true\"
                            List<YnWebAccMenuTree> parentList = listAccMenuTree.Where(P => P.parentId == parentId).ToList();
                            foreach (YnWebAccMenuTree ynWebAccMenuTree in parentList)
                            {
                                string url = string.Empty;
                                if (ynWebAccMenuTree.ynWebModule != null && ynWebAccMenuTree.ynWebModule.url != null && !string.IsNullOrEmpty(ynWebAccMenuTree.ynWebModule.url.Trim()))
                                {
                                    url = ynWebAccMenuTree.ynWebModule.url.Trim();
                                    url += "?mi=" + ynWebAccMenuTree.ynWebModule.id;
                                    if (!string.IsNullOrEmpty(ynWebAccMenuTree.ynWebModule.parameter))
                                    {
                                        url += "&parameter=" + System.Web.HttpContext.Current.Server.UrlEncode(ynWebAccMenuTree.ynWebModule.parameter);
                                    }
                                }
                                string onclick = "";
                                if (!string.IsNullOrEmpty(url))
                                    onclick = "onclick=\"openTab('" + ynWebAccMenuTree.name + "','" + url.Trim() + "')\"";

                                sb.Append("<li iconCls=\"" + ynWebAccMenuTree.iconCls + "\">");
                                sb.Append("<span><a href=\"javascript:void(0);\" " + onclick + ">" + ynWebAccMenuTree.name + "</a></span>");
                                List<YnWebAccMenuTree> childList = listAccMenuTree.Where(P => P.parentId == ynWebAccMenuTree.id).ToList();
                                if (childList.Count > 0)
                                {
                                    GetAccMenuTree(ynWebAccMenuTree.id, listAccMenuTree, sb);
                                }
                                sb.Append("</li>");
                            }
                            sb.Append("</ul>");
                        }
                        ynWebAccMenu.accMenuTree = sb.ToString();
                        listYnWebAccMenu.Add(ynWebAccMenu);
                    }
                }
            }
            if (listYnWebAccMenu != null)
            {
                //排序
                YnBaseClass2.YnUc.SortableBindingList<YnWebAccMenu> sortableBindingLis1 = new YnBaseClass2.YnUc.SortableBindingList<YnWebAccMenu>(listYnWebAccMenu);
                sortableBindingLis1.SortDirection = System.ComponentModel.ListSortDirection.Ascending;
                sortableBindingLis1.DefaultSortItem = "sortNo";
                //return listYnWebAccMenu;
                return sortableBindingLis1.ToList();
            }
            return null;
        }
示例#9
0
        /*[AcceptVerbs(HttpVerbs.Post)]*/
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    YnUser ynUser = AscmUserInfoService.GetInstance().TryGet(model.UserName);

                    /*
                     * YnUser ynUser = YnUserService.GetInstance().Get(model.UserName);
                     * if (ynUser == null)
                     * {
                     *  //throw new Exception("用户不存在");
                     *  //判断是否erp用户
                     *  ynUser = YnUserService.GetInstance().Get("erp_"+model.UserName);
                     *  if (ynUser == null)
                     *  {
                     *      //判断是否mes用户
                     *  }
                     * }
                     */
                    if (ynUser == null)
                    {
                        throw new Exception("用户不存在");
                    }
                    if (!string.IsNullOrEmpty(ynUser.extExpandType))
                    {
                        if (ynUser.extExpandType.Trim() == "erp")
                        {
                            //供应商登录显示供应商名称
                            AscmUserInfo ascmUserInfo = (AscmUserInfo)ynUser;
                            AscmUserInfoService.GetInstance().SetSupplier(ascmUserInfo);
                            if (ascmUserInfo.ascmSupplier != null)
                            {
                                ascmUserInfo.userName1 = ascmUserInfo.ascmSupplier.name;
                            }

                            if (!MembershipService.ValidateUser(ynUser.userId, model.Password))
                            {
                                if (Request.IsAjaxRequest())
                                {
                                    return(Content("用户密码错误!"));
                                }
                                //ModelState.AddModelError("", "提供的用户名或密码不正确。");
                                throw new Exception("提供的用户名或密码不正确。");
                            }
                        }
                        else if (ynUser.extExpandType.Trim() == "mes")
                        {
                            cn.com.midea.mespda.TransferService  service = new cn.com.midea.mespda.TransferService();
                            cn.com.midea.mespda.OutputWebMessage message = service.UserLogin(model.UserName, model.Password);
                            if (!message.IsSuccess)
                            {
                                throw new Exception(message.ErrorMessage);
                            }
                        }
                    }
                    else
                    {
                        if (!MembershipService.ValidateUser(ynUser.userId, model.Password))
                        {
                            if (Request.IsAjaxRequest())
                            {
                                return(Content("用户密码错误!"));
                            }
                            //ModelState.AddModelError("", "提供的用户名或密码不正确。");
                            throw new Exception("提供的用户名或密码不正确。");
                        }
                    }

                    //HttpCookie cookie = Request.Cookies.Get("userName");
                    //Response.Cookies["userName"].Value = model.UserName;
                    string _userName = HttpUtility.UrlEncode(model.UserName);
                    Response.Cookies["userName"].Value   = _userName;
                    Response.Cookies["userName"].Expires = DateTime.MaxValue;

                    int days     = 0;
                    int iExpires = 0;
                    if (days > 0)
                    {
                        iExpires = 60 * 60 * 24 * days;//保存天数
                    }
                    //YnUser ynUser = YnUserService.GetInstance().Get(model.UserName);
                    FormsAuthenticationService.GetInstance().SignIn(ynUser.userId, 0, ynUser, true);
                    PageInit(null);
                    //this.ynSite.systemUser = true;//是系统用户
                    //this.ynSite.siteAdmin = YnUserService.GetInstance().IsSuperAdministrator(ynUser.userId) || YnUserService.GetInstance().IsAdministrator(ynUser.userId);
                    //this.ynSite.userName = ynUser.userName;//是系统用户
                    if (Request.IsAjaxRequest())
                    {
                        return(JavaScript("document.location.href='';"));
                    }
                    if (!String.IsNullOrEmpty(returnUrl))
                    {
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        //return RedirectToAction("Index", "Home");
                        return(RedirectToAction("YnFrame", "YnPublic"));
                    }
                }
                catch (Exception ex)
                {
                    //throw ex;
                    ModelState.AddModelError("", ex.Message);
                }
            }

            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(View(model));
        }