/// <summary> /// 判断指定用户是否具有模块Module的动作权限编号ActionCode的操作权限 /// </summary> /// <param name="username">用户名</param> /// <param name="module">模块标识</param> /// <param name="actioncode">动作权限编号</param> /// <returns>True:有权限 False:无权限</returns> public static bool GetAccessRight(string Username, int Module, string ActionCode) { string CacheKey = "Right-AssignedRightList-" + Username; StringCollection assignedRight = (StringCollection)DataCache.GetCache(CacheKey); if (assignedRight == null) { assignedRight = new StringCollection(); #region 从数据库中获取分配给指定用户的权限 Right_Assign_DAL dal = (Right_Assign_DAL)DataAccess.CreateObject(DALClassName); DbDataReader dr = dal.GetAssignedRightList(ConfigHelper.GetConfigString("ApplicationName"), Username); if (dr.HasRows) { while (dr.Read()) { assignedRight.Add(dr["Module"].ToString() + "-" + dr["ActionCode"].ToString()); } } dr.Close(); #endregion #region 写入缓存 //创建缓存SQL依赖 AggregateCacheDependency cachedependency = new AggregateCacheDependency(); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "Right_Action")); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "Right_Assign")); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "Right_Module")); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "aspnet_UsersInRoles")); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "UD_WebPage")); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "UD_WebPageControl")); DataCache.SetCache(CacheKey, assignedRight, cachedependency); #endregion } return(assignedRight.Contains(Module.ToString() + "-" + ActionCode)); }
public Right_Assign_BLL(int id) : base(DALClassName) { _dal = (Right_Assign_DAL)_DAL; FillModel(id); }
public Right_Assign_BLL(int id, bool bycache) : base(DALClassName) { _dal = (Right_Assign_DAL)_DAL; FillModel(id, bycache); }
public Right_Assign_BLL() : base(DALClassName) { _dal = (Right_Assign_DAL)_DAL; _m = new Right_Assign(); //实例化Model }