/// <summary> /// 判断权限 /// 用于判断查询,修改,删除,打印权限 /// </summary> /// <param name="so">权限操作类型</param> /// <param name="formid">窗体ID</param> /// <param name="lano">制单人</param> /// <returns></returns> public bool CheckAuth(SecurityOperation so, int formid, string suserid) { bool bResult = false; //如果是超级用户则直接返回True if (IsAdmin) { bResult = true; } else if (suserid == "") { bResult = true; } else { foreach (Hashtable ht in GetFormSecurity(formid)) { ////增加权限,只要设置的不为None,其他的都具有 //if (so == SecurityOperation.Add) //{ // if ((SecurityOperationValue)GetFormSecurity(formid)[so] != SecurityOperationValue.None) // { // bResult = true; // } //} //else //{ switch ((SecurityOperationValue)ht[so]) { case SecurityOperationValue.None: { bResult = false; break; } case SecurityOperationValue.Self: { bResult = CurrentUserID.ToLower() == suserid.ToLower(); if (bResult) { return(bResult); } break; } case SecurityOperationValue.Underling: { bResult = GetUserUnderlingStr.ToLower().Contains(suserid.ToLower()); if (bResult) { return(bResult); } break; } case SecurityOperationValue.SelfAndUnderling: { bResult = GetUserSelfAndUnderlingStr.ToLower().Contains(suserid.ToLower()); if (bResult) { return(bResult); } break; } case SecurityOperationValue.Department: { bResult = GetUserDeptStr.ToLower().Contains(suserid.ToLower()); if (bResult) { return(bResult); } break; } case SecurityOperationValue.All: { bResult = true; if (bResult) { return(bResult); } break; } default: { bResult = false; break; } } } } return(bResult); }