Admin_BasePage.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /*******************************************************************************
  2. * iNethinkCMS - 网站内容管理系统
  3. * Copyright (C) 2012-2013 inethink.com
  4. *
  5. * @author jackyang <69991000@qq.com>
  6. * @website http://cms.inethink.com
  7. * @version 1.3.6.0 (2013-08-14)
  8. *
  9. * This is licensed under the GNU LGPL, version 3.0 or later.
  10. * For details, see: http://www.gnu.org/licenses/gpl-3.0.html
  11. *******************************************************************************/
  12. using System;
  13. using System.Collections.Generic;
  14. using System.Text;
  15. using System.Web;
  16. using System.Data;
  17. using System.Data.SqlClient;
  18. using iNethinkCMS.Command;
  19. namespace iNethinkCMS.Web.UI
  20. {
  21. public class Admin_BasePage : BasePage
  22. {
  23. protected string SysLoginUserName;
  24. protected string SysLoginUserTrueName;
  25. protected string SysLoginUserPower;
  26. protected string SysLoginUserChannelPower;
  27. protected string SysRegisteredUsersChannelPower="";
  28. protected int SysLoginUserID = 0;
  29. protected int SysLoginUserType = 0;
  30. private bool _SysRegisteredUsersIsManage = false;
  31. /// <summary>
  32. /// 当前用户是否拥有后台管理权限
  33. /// </summary>
  34. public bool SysRegisteredUsersIsManage
  35. {
  36. get { return _SysRegisteredUsersIsManage; }
  37. set { _SysRegisteredUsersIsManage = value; }
  38. }
  39. /// <summary>
  40. /// 权限检查
  41. /// </summary>
  42. /// <returns></returns>
  43. public void CheckUserPower(string byUserPower)
  44. {
  45. //判断COOKIE信息,在正确情况下,重新写入SESSION
  46. if (String.IsNullOrEmpty(Command_Session.Get("admin_username")))
  47. {
  48. string JC_UserName = Command_Cookie.GetCookie("cookie_admin_username");
  49. string JC_PassWord = Command_Cookie.GetCookie("cookie_admin_password");
  50. if (!String.IsNullOrEmpty(JC_UserName) && !String.IsNullOrEmpty(JC_PassWord))
  51. {
  52. JC_UserName = JC_UserName.Replace("'", "").Replace(")", "").Replace(">", "").Replace("*", "").Replace("?", "").Replace("%", "");
  53. JC_PassWord = JC_PassWord.Replace("'", "").Replace(")", "").Replace(">", "").Replace("*", "").Replace("?", "").Replace("%", "");
  54. iNethinkCMS.BLL.BLL_iNethinkCMS_User bll = new iNethinkCMS.BLL.BLL_iNethinkCMS_User();
  55. iNethinkCMS.Model.Model_iNethinkCMS_User model = new iNethinkCMS.Model.Model_iNethinkCMS_User();
  56. model = bll.GetModel(JC_UserName);
  57. if (model != null)
  58. {
  59. if (model.UserType != 1)
  60. {
  61. try
  62. {
  63. if (model.UserPower == null || model.UserPower.Trim().Length <= 0)
  64. {
  65. _SysRegisteredUsersIsManage = false;
  66. }
  67. else {
  68. _SysRegisteredUsersIsManage = true;
  69. }
  70. string Vip = "";
  71. if (model.UserType > 2)
  72. {
  73. Vip = (model.UserType - 2).ToString();
  74. }
  75. iNethinkCMS.Model.Model_iNethinkCMS_User RegisterModel = bll.GetModel("RegisteredUsers" + Vip.Trim());
  76. if (RegisterModel == null)
  77. {
  78. RegisterModel = bll.GetModel("RegisteredUsers");
  79. }
  80. if (RegisterModel != null)
  81. {
  82. if (!_SysRegisteredUsersIsManage)
  83. {
  84. model.UserPower = RegisterModel.UserPower;
  85. }
  86. this.SysRegisteredUsersChannelPower = RegisterModel.UserChannelPower;
  87. }
  88. else
  89. {
  90. model.UserPower = "";
  91. model.UserChannelPower = "";
  92. this.SysRegisteredUsersChannelPower ="";
  93. }
  94. }
  95. catch
  96. {
  97. model.UserPower = "";
  98. model.UserChannelPower = "";
  99. this.SysRegisteredUsersChannelPower = "";
  100. }
  101. }
  102. if (Command_MD5.md5(siteConfig.CacheKey + Command_Function.GetUserIp() + model.SecurityCode) == JC_PassWord)
  103. {
  104. Command_Session.Add("admin_username", model.UserName);
  105. Command_Session.Add("admin_usertruename", model.UserTrueName);
  106. Command_Session.Add("admin_userpass", model.UserPass);
  107. Command_Session.Add("admin_userpower", model.UserPower);
  108. Command_Session.Add("admin_userchannelpower", model.UserChannelPower);
  109. Command_Session.Add("admin_loginuserid", model.ID.ToString());
  110. Command_Session.Add("admin_loginusertype", model.UserType.ToString());
  111. Command_Session.Add("admin_SysRegisteredUsersIsManage", this.SysRegisteredUsersIsManage.ToString());
  112. Command_Session.Add("admin_SysRegisteredUsersChannelPower", this.SysRegisteredUsersChannelPower);
  113. }
  114. }
  115. }
  116. }
  117. SysLoginUserName = Command_Session.Get("admin_username");
  118. SysLoginUserTrueName = Command_Session.Get("admin_usertruename");
  119. SysLoginUserPower = "login," + Command_Session.Get("admin_userpower") + ",";
  120. SysLoginUserChannelPower = Command_Session.Get("admin_userchannelpower");
  121. SysLoginUserID = Convert.ToInt32(Command_Session.Get("admin_loginuserid"));
  122. SysLoginUserType = Convert.ToInt32(Command_Session.Get("admin_loginusertype"));
  123. this.SysRegisteredUsersIsManage = Convert.ToBoolean(Command_Session.Get("admin_SysRegisteredUsersIsManage"));
  124. this.SysRegisteredUsersChannelPower = Command_Session.Get("admin_SysRegisteredUsersChannelPower");
  125. if (String.IsNullOrEmpty(SysLoginUserName) || String.IsNullOrEmpty(SysLoginUserPower))
  126. {
  127. Response.Clear();
  128. //Response.Redirect("~/admin/index.aspx");
  129. Response.Write("<script language=javascript>alert('您还没有登录,不能访问。');parent.location.href=\"/admin\";</script>");
  130. Response.End();
  131. }
  132. else
  133. {
  134. if (SysLoginUserPower.IndexOf(byUserPower + ",") < 0)
  135. {
  136. Response.Write("您并无当前页面/功能的操作权限!");
  137. Response.End();
  138. }
  139. }
  140. }
  141. /// <summary>
  142. /// 权限检查
  143. /// </summary>
  144. /// <returns></returns>
  145. public bool CheckUserPower(string byUserPower, string retun)
  146. {
  147. SysLoginUserName = Command_Session.Get("admin_username");
  148. SysLoginUserPower = "login," + Command_Session.Get("admin_userpower") + ",";
  149. if (SysLoginUserName == null || SysLoginUserPower == null)
  150. {
  151. return false;
  152. }
  153. else
  154. {
  155. if (SysLoginUserPower.IndexOf(byUserPower + ",") < 0)
  156. {
  157. return false;
  158. }
  159. else
  160. {
  161. return true;
  162. }
  163. }
  164. }
  165. }
  166. }