/******************************************************************************* * iNethinkCMS - 网站内容管理系统 * Copyright (C) 2012-2013 inethink.com * * @author jackyang <69991000@qq.com> * @website http://cms.inethink.com * @version 1.3.6.0 (2013-08-14) * * This is licensed under the GNU LGPL, version 3.0 or later. * For details, see: http://www.gnu.org/licenses/gpl-3.0.html *******************************************************************************/ using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Data; using System.Data.SqlClient; using iNethinkCMS.Command; namespace iNethinkCMS.Web.UI { public class Admin_BasePage : BasePage { protected string SysLoginUserName; protected string SysLoginUserTrueName; protected string SysLoginUserPower; protected string SysLoginUserChannelPower; protected string SysRegisteredUsersChannelPower=""; protected int SysLoginUserID = 0; protected int SysLoginUserType = 0; private bool _SysRegisteredUsersIsManage = false; /// /// 当前用户是否拥有后台管理权限 /// public bool SysRegisteredUsersIsManage { get { return _SysRegisteredUsersIsManage; } set { _SysRegisteredUsersIsManage = value; } } /// /// 权限检查 /// /// public void CheckUserPower(string byUserPower) { //判断COOKIE信息,在正确情况下,重新写入SESSION if (String.IsNullOrEmpty(Command_Session.Get("admin_username"))) { string JC_UserName = Command_Cookie.GetCookie("cookie_admin_username"); string JC_PassWord = Command_Cookie.GetCookie("cookie_admin_password"); if (!String.IsNullOrEmpty(JC_UserName) && !String.IsNullOrEmpty(JC_PassWord)) { JC_UserName = JC_UserName.Replace("'", "").Replace(")", "").Replace(">", "").Replace("*", "").Replace("?", "").Replace("%", ""); JC_PassWord = JC_PassWord.Replace("'", "").Replace(")", "").Replace(">", "").Replace("*", "").Replace("?", "").Replace("%", ""); iNethinkCMS.BLL.BLL_iNethinkCMS_User bll = new iNethinkCMS.BLL.BLL_iNethinkCMS_User(); iNethinkCMS.Model.Model_iNethinkCMS_User model = new iNethinkCMS.Model.Model_iNethinkCMS_User(); model = bll.GetModel(JC_UserName); if (model != null) { if (model.UserType != 1) { try { if (model.UserPower == null || model.UserPower.Trim().Length <= 0) { _SysRegisteredUsersIsManage = false; } else { _SysRegisteredUsersIsManage = true; } string Vip = ""; if (model.UserType > 2) { Vip = (model.UserType - 2).ToString(); } iNethinkCMS.Model.Model_iNethinkCMS_User RegisterModel = bll.GetModel("RegisteredUsers" + Vip.Trim()); if (RegisterModel == null) { RegisterModel = bll.GetModel("RegisteredUsers"); } if (RegisterModel != null) { if (!_SysRegisteredUsersIsManage) { model.UserPower = RegisterModel.UserPower; } this.SysRegisteredUsersChannelPower = RegisterModel.UserChannelPower; } else { model.UserPower = ""; model.UserChannelPower = ""; this.SysRegisteredUsersChannelPower =""; } } catch { model.UserPower = ""; model.UserChannelPower = ""; this.SysRegisteredUsersChannelPower = ""; } } if (Command_MD5.md5(siteConfig.CacheKey + Command_Function.GetUserIp() + model.SecurityCode) == JC_PassWord) { Command_Session.Add("admin_username", model.UserName); Command_Session.Add("admin_usertruename", model.UserTrueName); Command_Session.Add("admin_userpass", model.UserPass); Command_Session.Add("admin_userpower", model.UserPower); Command_Session.Add("admin_userchannelpower", model.UserChannelPower); Command_Session.Add("admin_loginuserid", model.ID.ToString()); Command_Session.Add("admin_loginusertype", model.UserType.ToString()); Command_Session.Add("admin_SysRegisteredUsersIsManage", this.SysRegisteredUsersIsManage.ToString()); Command_Session.Add("admin_SysRegisteredUsersChannelPower", this.SysRegisteredUsersChannelPower); } } } } SysLoginUserName = Command_Session.Get("admin_username"); SysLoginUserTrueName = Command_Session.Get("admin_usertruename"); SysLoginUserPower = "login," + Command_Session.Get("admin_userpower") + ","; SysLoginUserChannelPower = Command_Session.Get("admin_userchannelpower"); SysLoginUserID = Convert.ToInt32(Command_Session.Get("admin_loginuserid")); SysLoginUserType = Convert.ToInt32(Command_Session.Get("admin_loginusertype")); this.SysRegisteredUsersIsManage = Convert.ToBoolean(Command_Session.Get("admin_SysRegisteredUsersIsManage")); this.SysRegisteredUsersChannelPower = Command_Session.Get("admin_SysRegisteredUsersChannelPower"); if (String.IsNullOrEmpty(SysLoginUserName) || String.IsNullOrEmpty(SysLoginUserPower)) { Response.Clear(); //Response.Redirect("~/admin/index.aspx"); Response.Write(""); Response.End(); } else { if (SysLoginUserPower.IndexOf(byUserPower + ",") < 0) { Response.Write("您并无当前页面/功能的操作权限!"); Response.End(); } } } /// /// 权限检查 /// /// public bool CheckUserPower(string byUserPower, string retun) { SysLoginUserName = Command_Session.Get("admin_username"); SysLoginUserPower = "login," + Command_Session.Get("admin_userpower") + ","; if (SysLoginUserName == null || SysLoginUserPower == null) { return false; } else { if (SysLoginUserPower.IndexOf(byUserPower + ",") < 0) { return false; } else { return true; } } } } }