systemAdmins.jsp
上传用户:guhaomin
上传日期:2007-06-10
资源大小:23203k
文件大小:9k
源码类别:

电子政务应用

开发平台:

Java

  1. <%
  2. /**
  3.  * $RCSfile: systemAdmins.jsp,v $
  4.  * $Revision: 1.3 $
  5.  * $Date: 2000/12/18 02:06:21 $
  6.  */
  7. %>
  8. <%@ page 
  9. import="java.util.*,
  10.             java.net.URLEncoder,
  11.             com.coolservlets.forum.*,
  12.             com.coolservlets.forum.util.*,
  13.         com.coolservlets.forum.util.admin.*"
  14. errorPage="error.jsp"
  15. %>
  16. <jsp:useBean id="adminBean" scope="session"
  17.  class="com.coolservlets.forum.util.admin.AdminBean"/>
  18. <% ////////////////////////////////
  19. // Jive authorization check
  20. // check the bean for the existence of an authorization token.
  21. // Its existence proves the user is valid. If it's not found, redirect
  22. // to the login page
  23. Authorization authToken = adminBean.getAuthToken();
  24. if( authToken == null ) {
  25. response.sendRedirect( "/mainctrl/bbs/admin" );
  26. return;
  27. }
  28. %>
  29.  
  30. <% ////////////////////
  31. // Security check
  32. // make sure the user is authorized to administer users:
  33. ForumFactory forumFactory = ForumFactory.getInstance(authToken);
  34. boolean isSystemAdmin = ((Boolean)session.getValue("jiveAdmin.systemAdmin")).booleanValue();
  35. // redirect to error page if we're not a user admin or a system admin
  36. if( !isSystemAdmin ) {
  37. throw new UnauthorizedException("您没有权限使用管理员工具!");
  38. }
  39. %>
  40.  
  41. <% //////////////////////////////////
  42. // error variables for parameters
  43. boolean errorEmail = false;
  44. boolean errorUsername = false;
  45. boolean errorNoPassword = false;
  46. boolean errorNoConfirmPassword = false;
  47. boolean errorPasswordsNotEqual = false;
  48. // error variables from user creation
  49. boolean errorUserAlreadyExists = false;
  50. boolean errorNoPermissionToCreate = false;
  51. // overall error variable
  52. boolean errors = false;
  53. // creation success variable:
  54. boolean success = false;
  55. %>
  56. <% ////////////////////
  57. // get parameters
  58. String name             = ParamUtils.getParameter(request,"name");
  59. String email            = ParamUtils.getParameter(request,"email");
  60. String username         = ParamUtils.getParameter(request,"username");
  61. String password         = ParamUtils.getParameter(request,"password");
  62. String confirmPassword  = ParamUtils.getParameter(request,"confirmPassword");
  63. boolean usernameIsEmail = ParamUtils.getCheckboxParameter(request,"usernameIsEmail");
  64. boolean nameVisible     = !ParamUtils.getCheckboxParameter(request,"hideName");
  65. boolean emailVisible    = !ParamUtils.getCheckboxParameter(request,"hideEmail");
  66. boolean doCreate        = ParamUtils.getBooleanParameter(request,"doCreate");
  67. %>
  68. <% ///////////////////////////////////////////////////////////////////
  69. // trim up the passwords so no one can enter a password of spaces
  70. if( password != null ) {
  71. password = password.trim();
  72. if( password.equals("") ) { password = null; }
  73. }
  74. if( confirmPassword != null ) {
  75. confirmPassword = confirmPassword.trim();
  76. if( confirmPassword.equals("") ) { confirmPassword = null; }
  77. }
  78. %>
  79. <% //////////////////////
  80. // check for errors
  81. if( doCreate ) {
  82. if( email == null ) {
  83. errorEmail = true;
  84. }
  85. if( username == null ) {
  86. errorUsername = true;
  87. }
  88. if( password == null ) {
  89. errorNoPassword = true;
  90. }
  91. if( confirmPassword == null ) {
  92. errorNoConfirmPassword = true;
  93. }
  94. if( password != null && confirmPassword != null
  95.     && !password.equals(confirmPassword) )
  96. {
  97. errorPasswordsNotEqual = true;
  98. }
  99. errors = errorEmail || errorUsername || errorNoPassword
  100.          || errorNoConfirmPassword || errorPasswordsNotEqual;
  101. }
  102. %>
  103. <% ////////////////////////////////////////////////////////////////
  104. // if there are no errors at this point, start the process of
  105. // adding the user
  106. // get a profile manager to edit user properties
  107. ProfileManager manager = forumFactory.getProfileManager();
  108. if( !errors && doCreate ) {
  109. try {
  110. User newUser = manager.createUser(username,password,email);
  111. newUser.setName( name );
  112. newUser.setEmailVisible( emailVisible );
  113. newUser.setNameVisible( nameVisible );
  114. success = true;
  115. }
  116. catch( UserAlreadyExistsException uaee ) {
  117. errorUserAlreadyExists = true;
  118. errorUsername = true;
  119. errors = true;
  120. }
  121. catch( UnauthorizedException ue ) {
  122. errorNoPermissionToCreate = true;
  123. errors = true;
  124. }
  125. }
  126. %>
  127. <% //////////////////////////////////////////////////////////////////////
  128. // if a user was successfully created, say so and return (to stop the 
  129. // jsp from executing
  130. if( success ) {
  131. response.sendRedirect("users.jsp?msg="
  132. + URLEncoder.encode("用户创建成功!"));
  133. return;
  134. %>
  135. <html>
  136. <head>
  137. <title></title>
  138. <link rel="stylesheet" href="style/global.css">
  139. </head>
  140. <body background="images/shadowBack.gif" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
  141. <% ///////////////////////
  142. // pageTitleInfo variable (used by include/pageTitle.jsp)
  143. String[] pageTitleInfo = { "用户", "系统管理员" };
  144. %>
  145. <% ///////////////////
  146. // pageTitle include
  147. %><%@ include file="include/pageTitle.jsp" %>
  148. <p>
  149. 当前的系统管理员:
  150. <p>
  151. <table bgcolor="#666666" border="0" cellpadding="0" cellspacing="0" width="100%">
  152. <td>
  153. <table border="0" cellpadding="2" cellspacing="1" width="100%">
  154. <tr bgcolor="#eeeeee">
  155. <td class="userHeader" width="2%" nowrap>&nbsp;ID&nbsp;</td>
  156. <td width="25%"><b>用户名</b></td>
  157. <td width="36%"><b>姓名</b></td>
  158. <td width="25%"><b>Email</b></td>
  159. <td class="userHeader" width="4%" nowrap>修改<br>属性</td>
  160. <%--<td class="userHeader" width="4%" nowrap>Permissions</td>--%>
  161. <td class="userHeader" width="4%" nowrap>删除</td>
  162. </tr>
  163. <% Iterator userIterator = manager.users(); %>
  164. <% if( !userIterator.hasNext() ) { %>
  165. <tr bgcolor="#ffffff">
  166. <td colspan="5">
  167. <i>没有系统管理员。</i>
  168. </td>
  169. </tr>
  170. <% } %>
  171. <% while( userIterator.hasNext() ) { %>
  172. <% User user = (User)userIterator.next();
  173. //Authorization userAuth = authFactory.getAuthorization(                       // XXX fix this!
  174. boolean sysAdmin = user.hasPermission(ForumPermissions.SYSTEM_ADMIN);
  175. if( sysAdmin ) {
  176. int userID = user.getID();
  177. username = user.getUsername();
  178. name = user.getName();
  179. email = user.getEmail();
  180. %>
  181. <tr bgcolor="#ffffff">
  182. <td align="center"><%= userID %></td>
  183. <td>
  184. <b><%= username %></b>
  185. </td>
  186. <td>
  187. <%= (name!=null&&!name.equals(""))?name:"&nbsp;" %>
  188. </td>
  189. <td>
  190. <%= (email!=null&&!email.equals(""))?email:"&nbsp;" %>
  191. </td>
  192. <td align="center">
  193. <input type="radio" name="props" value=""
  194.  onclick="location.href='editUser.jsp?user=<%= username %>';">
  195. </td>
  196. <%--
  197. <td align="center">
  198. <input type="radio" name="props" value=""
  199.  onclick="location.href='userProps.jsp?user=<%= username %>';">
  200. </td>
  201. --%>
  202. <td align="center">
  203. <input type="radio" name="props" value=""
  204.  onclick="location.href='removeUser.jsp?user=<%= username %>';">
  205. </td>
  206. </tr>
  207. <% } %>
  208. <% } %>
  209. </tr>
  210. </table>
  211. </td>
  212. </table>
  213. <p>
  214. <% // print error messages
  215. if( !success && errors ) {
  216. %>
  217. <p><font color="#ff0000">
  218. <% if( errorUserAlreadyExists ) { %>
  219. 用户名 "<%= username %>" 已经存在,请另选一个用户名。
  220. <% } else if( errorNoPermissionToCreate ) { %>
  221. 您没有权限增加用户。
  222. <% } else { %>
  223. 发生一般错误,请检查你的输入项,然后重试。
  224. <% } %>
  225. </font><p>
  226. <% } %>
  227. <p>
  228. <font size="-1">
  229. 这里将创建系统管理员。
  230. </font>
  231. <p>
  232. <%-- form --%>
  233. <form action="createUser.jsp" method="post" name="createForm">
  234. <input type="hidden" name="doCreate" value="true">
  235. <b>新系统管理属性</b>
  236. <p>
  237. <table bgcolor="#999999" cellspacing="0" cellpadding="0" border="0" width="95%" align="right">
  238. <td>
  239. <table bgcolor="#999999" cellspacing="1" cellpadding="3" border="0" width="100%">
  240. <%-- name row --%>
  241. <tr bgcolor="#ffffff">
  242. <td><font size="-1">姓名 <i>(可选)</i></font></td>
  243. <td><input type="text" name="name" size="30"
  244.  value="<%= (name!=null)?name:"" %>">
  245. </td>
  246. </tr>
  247. <%-- user email --%>
  248. <tr bgcolor="#ffffff">
  249. <td><font size="-1"<%= (errorEmail)?(" color="#ff0000""):"" %>>Email</font></td>
  250. <td><input type="text" name="email" size="30"
  251.  value="<%= (email!=null)?email:"" %>">
  252. </td>
  253. </tr>
  254. <%-- username --%>
  255. <tr bgcolor="#ffffff">
  256. <td><font size="-1"<%= (!usernameIsEmail&&errorUsername)?" color="#ff0000"":"" %>>
  257. 用户名
  258. <br>&nbsp;(<input type="checkbox" name="usernameIsEmail" 
  259.   id="cb01"<%= (usernameIsEmail)?" checked":"" %>
  260.   onclick="this.form.username.value=this.form.email.value;"> 
  261. <label for="cb01">使用Email</label>)
  262. </font>
  263. </td>
  264. <td><input type="text" name="username" size="30"
  265. <% if( usernameIsEmail ) { %>
  266.  value="<%= (email!=null)?email:"" %>">
  267. <% } else { %>
  268.  value="<%= (username!=null)?username:"" %>">
  269. <% } %>
  270. </td>
  271. </tr>
  272. <%-- password --%>
  273. <tr bgcolor="#ffffff">
  274. <td><font size="-1"<%= (errorNoPassword||errorPasswordsNotEqual)?" color="#ff0000"":"" %>
  275.  >口令</font></td>
  276. <td><input type="password" name="password" value="" size="20" maxlength="30"></td>
  277. </tr>
  278. <%-- confirm password --%>
  279. <tr bgcolor="#ffffff">
  280. <td><font size="-1"<%= (errorNoConfirmPassword||errorPasswordsNotEqual)?" color="#ff0000"":"" %>
  281.  >口令确认</font></td>
  282. <td><input type="password" name="confirmPassword" value="" size="20" maxlength="30"></td>
  283. </tr>
  284. </table>
  285. </td>
  286. </table>
  287. <br clear="all"><br>
  288. <input type="submit" value="创建管理员">
  289. &nbsp;
  290. <input type="submit" value="取消"
  291.  onclick="location.href='users.jsp';return false;">
  292. </form>
  293. <script language="JavaScript" type="text/javascript">
  294. <!--
  295. document.createForm.name.focus();
  296. //-->
  297. </script>
  298. </body>
  299. </html>