/// <summary> /// 取得後台使用者 By 使用者Id No Lazy /// </summary> /// <param name="userId">使用者Id</param> /// <returns>後台使用者</returns> public LoginUserVO GetLoginUserByIdNoLazy(string userId) { LoginUserVO user = LoginUserDao.GetLoginUserById(userId); if (user != null) { NHibernateUtil.Initialize(user.LoginRoleList); if (user.LoginRoleList != null && user.LoginRoleList.Count > 0) { foreach (LoginRoleVO role in user.LoginRoleList) { NHibernateUtil.Initialize(role.MenuFuncList); if (role.MenuFuncList != null && role.MenuFuncList.Count > 0) { foreach (MenuFuncVO menufunc in role.MenuFuncList) { NHibernateUtil.Initialize(menufunc.FuncionPaths); } } } } } return(user); }
/// <summary> /// 判斷路徑是否有權限 /// </summary> /// <param name="loginUserVO">後台使用者</param> /// <param name="uri">路徑</param> /// <returns>路徑是否有權限 </returns> public bool PathHasAuth(LoginUserVO user, Uri uri) { string path = uri.ToString(); LoginUserVO loginUserVO = LoginUserDao.GetLoginUserById(user.UserId); IList <LoginRoleVO> loginRoleList = loginUserVO.LoginRoleList; HashSet <string> pathRightSet = new HashSet <string>(); foreach (LoginRoleVO role in loginRoleList) { IList <MenuFuncVO> menuFuncList = role.MenuFuncList; foreach (MenuFuncVO menuFunc in menuFuncList) { pathRightSet.Add(menuFunc.MainPath); if (menuFunc.FuncionPaths != null && menuFunc.FuncionPaths.Count > 0) { foreach (FunctionPathVO fpth in menuFunc.FuncionPaths) { if (!string.IsNullOrEmpty(fpth.Path)) { pathRightSet.Add(fpth.Path); } } } } } pathRightSet.Add("admin/index.aspx"); if (pathRightSet.Count > 0) { foreach (string rightPath in pathRightSet.ToArray <string>()) { if (path.IndexOf(rightPath) != -1) { return(true); } } } return(false); }
/// <summary> /// 取得後台使用者 By 使用者Id /// </summary> /// <param name="userId">使用者Id</param> /// <returns>後台使用者</returns> public LoginUserVO GetLoginUserById(string userId) { return(LoginUserDao.GetLoginUserById(userId)); }