/// <summary> /// 权限验证方法,返回权限验证信息 /// </summary> /// <param name="action">需要验证的栏目url(例:/SysAdmin/Site)</param> /// <param name="flag">需要验证的栏目权限(枚举)</param> /// <returns>返回权限验证信息(枚举)</returns> public PowerInfo Safe(string action, PowerFlag flag) { if (!IsLogin()) { return(PowerInfo.NoLogin); } if (action == null) { return(PowerInfo.Unknow); } var module = new YD_Sys_Module(); //带有参数的链接将参数去掉 if (action.Contains("/?")) { action = action.Substring(0, action.IndexOf("/?")); } action = action.EndsWith("/") ? action.Substring(0, action.Length - 1) : action; using (var yunEntities = new IYunEntities()) { var modules = yunEntities.YD_Sys_Module.Where(u => true).ToList(); for (var i = 0; i < modules.Count(); i++) { var moduleName = modules[i].y_url; //带有参数的链接将参数去掉 if (moduleName.Contains("/?")) { moduleName = moduleName.Substring(0, moduleName.IndexOf("/?")); } //带有/结尾的链接将/去掉 if (moduleName.EndsWith("/")) { moduleName = moduleName.Substring(0, moduleName.Length - 1); } if (moduleName.ToLower() != action.ToLower()) { continue; } module = modules[i]; break; } if (module == null) { return(PowerInfo.Unknow); } var power = yunEntities.YD_Sys_Power.FirstOrDefault(u => u.y_moduleID == module.id && u.y_roleID == YdAdminRoleId); if (power == null) { return(PowerInfo.NoPower); } switch (flag) { case PowerFlag.Delete: return(power.y_delete == (int)PowerState.Able ? PowerInfo.HasPower : PowerInfo.NoPower); case PowerFlag.Insert: return(power.y_insert == (int)PowerState.Able ? PowerInfo.HasPower : PowerInfo.NoPower); case PowerFlag.Menu: return(power.y_menu == (int)PowerState.Able ? PowerInfo.HasPower : PowerInfo.NoPower); case PowerFlag.Select: return(power.y_select == (int)PowerState.Able ? PowerInfo.HasPower : PowerInfo.NoPower); case PowerFlag.Update: return(power.y_update == (int)PowerState.Able ? PowerInfo.HasPower : PowerInfo.NoPower); default: return(PowerInfo.Unknow); } } }
/// <summary> /// 权限验证方法,返回权限验证信息 /// </summary> /// <param name="action">需要验证的栏目名称</param> /// <param name="flag">需要验证的栏目权限(枚举)</param> /// <returns>返回权限验证信息(枚举)</returns> public PowerInfo Safe(string action, PowerFlag flag) { return(new BaseDal <YD_Sys_Admin>().Safe(action, flag)); }
public static int Power(PowerFlag flag, out string RESULT) { try { string f = string.Empty; switch (flag) { case PowerFlag.HardReboot: f = cl.DownloadString("http://" + IP + "/reboot.ps3?hard"); if (f.Contains("reboot.ps3?hard : OK")) { RESULT = "REBOOT HARD : OK"; return(0); } break; case PowerFlag.QuickReboot: f = cl.DownloadString("http://" + IP + "/reboot.ps3?quick"); if (f.Contains("reboot.ps3?quick : OK")) { RESULT = "REBOOT QUICK : OK"; return(0); } break; case PowerFlag.Shutdown: f = cl.DownloadString("http://" + IP + "/shutdown.ps3"); if (f.Contains("shutdown.ps3 : OK")) { RESULT = "SHUTDOWN : OK"; return(0); } break; case PowerFlag.SoftReboot: f = cl.DownloadString("http://" + IP + "/reboot.ps3?soft"); if (f.Contains("reboot.ps3?soft : OK")) { RESULT = "REBOOT SOFT : OK"; return(0); } break; case PowerFlag.VSH: f = cl.DownloadString("http://" + IP + "/reboot.ps3?hard"); if (f.Contains("reboot.ps3?vsh : OK")) { RESULT = "REBOOT VSH : OK"; return(0); } break; } RESULT = "COMMAND : FAILED"; return(-1); } catch { RESULT = "COMMAND : FAILED TO CALL COMMAND"; return(-1); } }