RoadFlow2.1 临时演示

Tools.cs 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. namespace WebForm.Common
  6. {
  7. public class Tools
  8. {
  9. /// <summary>
  10. /// 包含文件
  11. /// </summary>
  12. public static string IncludeFiles
  13. {
  14. get
  15. {
  16. return
  17. string.Format(@"<link href=""{0}/Themes/Common.css"" rel=""stylesheet"" type=""text/css"" media=""screen""/>
  18. <link href=""{0}/Themes/{1}/Style/style.css"" id=""style_style"" rel=""stylesheet"" type=""text/css"" media=""screen""/>
  19. <link href=""{0}/Themes/{1}/Style/ui.css"" id=""style_ui"" rel=""stylesheet"" type=""text/css"" media=""screen""/>
  20. <link rel=""shortcut icon"" href=""{0}/Images/32.ico"" />
  21. <script type=""text/javascript"" src=""{0}/Scripts/My97DatePicker/WdatePicker.js""></script>
  22. <script type=""text/javascript"" src=""{0}/Scripts/jquery-1.11.1.min.js""></script>
  23. <script type=""text/javascript"" src=""{0}/Scripts/jquery.cookie.js""></script>
  24. <script type=""text/javascript"" src=""{0}/Scripts/json.js""></script>
  25. <script type=""text/javascript"" src=""{0}/Scripts/roadui.core.js""></script>
  26. <script type=""text/javascript"" src=""{0}/Scripts/roadui.button.js""></script>
  27. <script type=""text/javascript"" src=""{0}/Scripts/roadui.calendar.js""></script>
  28. <script type=""text/javascript"" src=""{0}/Scripts/roadui.file.js""></script>
  29. <script type=""text/javascript"" src=""{0}/Scripts/roadui.member.js""></script>
  30. <script type=""text/javascript"" src=""{0}/Scripts/roadui.dict.js""></script>
  31. <script type=""text/javascript"" src=""{0}/Scripts/roadui.menu.js""></script>
  32. <script type=""text/javascript"" src=""{0}/Scripts/roadui.select.js""></script>
  33. <script type=""text/javascript"" src=""{0}/Scripts/roadui.combox.js""></script>
  34. <script type=""text/javascript"" src=""{0}/Scripts/roadui.tab.js""></script>
  35. <script type=""text/javascript"" src=""{0}/Scripts/roadui.text.js""></script>
  36. <script type=""text/javascript"" src=""{0}/Scripts/roadui.textarea.js""></script>
  37. <script type=""text/javascript"" src=""{0}/Scripts/roadui.editor.js""></script>
  38. <script type=""text/javascript"" src=""{0}/Scripts/roadui.tree.js""></script>
  39. <script type=""text/javascript"" src=""{0}/Scripts/roadui.validate.js""></script>
  40. <script type=""text/javascript"" src=""{0}/Scripts/roadui.window.js""></script>
  41. <script type=""text/javascript"" src=""{0}/Scripts/roadui.dragsort.js""></script>
  42. <script type=""text/javascript"" src=""{0}/Scripts/roadui.selectico.js""></script>
  43. <script type=""text/javascript"" src=""{0}/Scripts/roadui.accordion.js""></script>
  44. <script type=""text/javascript"" src=""{0}/Scripts/roadui.grid.js""></script>
  45. <script type=""text/javascript"" src=""{0}/Scripts/roadui.init.js""></script>"
  46. , BaseUrl, RoadFlow.Utility.Config.Theme);
  47. }
  48. }
  49. public static string BaseUrl
  50. {
  51. get
  52. {
  53. return "";
  54. }
  55. }
  56. public static bool CheckLogin(out string msg)
  57. {
  58. msg = "";
  59. object session = System.Web.HttpContext.Current.Session[RoadFlow.Utility.Keys.SessionKeys.UserID.ToString()];
  60. Guid uid;
  61. if (session == null || !session.ToString().IsGuid(out uid) || uid == Guid.Empty)
  62. {
  63. return false;
  64. }
  65. //#if DEBUG
  66. return true; //正式使用时请注释掉这一行
  67. //#endif
  68. string uniqueIDSessionKey = RoadFlow.Utility.Keys.SessionKeys.UserUniqueID.ToString();
  69. var user = new RoadFlow.Platform.OnlineUsers().Get(uid);
  70. if (user == null)
  71. {
  72. return false;
  73. }
  74. else if (System.Web.HttpContext.Current.Session[uniqueIDSessionKey] == null)
  75. {
  76. return false;
  77. }
  78. else if (string.Compare(System.Web.HttpContext.Current.Session[uniqueIDSessionKey].ToString(), user.UniqueID.ToString(), true) != 0)
  79. {
  80. msg = string.Format("您的帐号在{0}登录,您被迫下线!", user.IP);
  81. return false;
  82. }
  83. return true;
  84. }
  85. public static bool CheckLogin(bool redirect = true)
  86. {
  87. string msg;
  88. if (!CheckLogin(out msg))
  89. {
  90. if (!redirect)
  91. {
  92. System.Web.HttpContext.Current.Response.Write("登录验证失败!");
  93. System.Web.HttpContext.Current.Response.End();
  94. return false;
  95. }
  96. else
  97. {
  98. System.Web.HttpContext.Current.Response.Write("<script>top.login();</script>");
  99. System.Web.HttpContext.Current.Response.End();
  100. return false;
  101. }
  102. }
  103. return true;
  104. }
  105. /// <summary>
  106. /// 检查应用程序权限
  107. /// </summary>
  108. /// <param name="appid"></param>
  109. /// <returns></returns>
  110. public static bool CheckApp(out string msg, string appid = "")
  111. {
  112. msg = "";
  113. appid = appid.IsNullOrEmpty() ? System.Web.HttpContext.Current.Request.QueryString["appid"] : appid;
  114. Guid appGuid;
  115. if (!appid.IsGuid(out appGuid))
  116. {
  117. return false;
  118. }
  119. var app = new RoadFlow.Platform.RoleApp().GetFromCache(appid);
  120. if (app != null)
  121. {
  122. var roles = RoadFlow.Platform.Users.CurrentUserRoles;
  123. if (roles.Contains(app["RoleID"].ToString().ToGuid()))
  124. {
  125. return true;
  126. }
  127. else
  128. {
  129. msg = "<script>top.login();</script>";
  130. }
  131. }
  132. else
  133. {
  134. var userID = RoadFlow.Platform.Users.CurrentUserID;
  135. if (userID.IsEmptyGuid())
  136. {
  137. msg = "<script>top.login();</script>";
  138. return false;
  139. }
  140. var userApp = new RoadFlow.Platform.UsersApp().GetUserDataRows(userID);
  141. foreach (System.Data.DataRow dr in userApp)
  142. {
  143. if (dr["ID"].ToString().ToGuid() == appGuid)
  144. {
  145. return true;
  146. }
  147. }
  148. }
  149. return false;
  150. }
  151. /// <summary>
  152. /// 检查访问地址
  153. /// </summary>
  154. /// <param name="isEnd"></param>
  155. /// <returns></returns>
  156. public static bool CheckReferrer(bool isEnd = true)
  157. {
  158. bool IsUri = HttpContext.Current.Request.UrlReferrer != null && HttpContext.Current.Request.Url.Host.Equals(HttpContext.Current.Request.UrlReferrer.Host, StringComparison.CurrentCultureIgnoreCase);
  159. if (!IsUri && isEnd)
  160. {
  161. HttpContext.Current.Response.Clear();
  162. HttpContext.Current.Response.Write("访问地址错误!");
  163. HttpContext.Current.Response.End();
  164. }
  165. return IsUri;
  166. }
  167. }
  168. }