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

电子政务应用

开发平台:

Java

  1. <%
  2. /**
  3.  * $RCSfile: createUser.jsp,v $
  4.  * $Revision: 1.3 $
  5.  * $Date: 2000/12/18 02:06:21 $
  6.  */
  7. %>
  8. <%@ page import="java.util.*,
  9.                  java.net.URLEncoder,
  10.                  com.coolservlets.forum.*,
  11.                  com.coolservlets.forum.util.*,
  12.  com.coolservlets.forum.util.admin.*"%>
  13. <jsp:useBean id="adminBean" scope="session"
  14.  class="com.coolservlets.forum.util.admin.AdminBean"/>
  15. <% ////////////////////////////////
  16. // Jive authorization check
  17. // check the bean for the existence of an authorization token.
  18. // Its existence proves the user is valid. If it's not found, redirect
  19. // to the login page
  20. Authorization authToken = adminBean.getAuthToken();
  21. if( authToken == null ) {
  22. response.sendRedirect( "/mainctrl/bbs/admin" );
  23. return;
  24. }
  25. %>
  26.  
  27. <% ////////////////////
  28. // Security check
  29. // make sure the user is authorized to administer users:
  30. ForumFactory forumFactory = ForumFactory.getInstance(authToken);
  31. ForumPermissions permissions = forumFactory.getPermissions(authToken);
  32. boolean isSystemAdmin = permissions.get(ForumPermissions.SYSTEM_ADMIN);
  33. boolean isUserAdmin   = permissions.get(ForumPermissions.USER_ADMIN);
  34. // redirect to error page if we're not a user admin or a system admin
  35. if( !isUserAdmin && !isSystemAdmin ) {
  36. response.sendRedirect("error.jsp?msg="
  37. + URLEncoder.encode("您没有权限管理用户!"));
  38. return;
  39. }
  40. %>
  41.  
  42. <% //////////////////////////////////
  43. // error variables for parameters
  44. boolean errorEmail = false;
  45. boolean errorUsername = false;
  46. boolean errorNoPassword = false;
  47. boolean errorNoConfirmPassword = false;
  48. boolean errorPasswordsNotEqual = false;
  49. // error variables from user creation
  50. boolean errorUserAlreadyExists = false;
  51. boolean errorNoPermissionToCreate = false;
  52. // overall error variable
  53. boolean errors = false;
  54. // creation success variable:
  55. boolean success = false;
  56. %>
  57. <% ////////////////////
  58. // get parameters
  59. String name             = ParamUtils.getParameter(request,"name");
  60. String email            = ParamUtils.getParameter(request,"email");
  61. String username         = ParamUtils.getParameter(request,"username");
  62. String password         = ParamUtils.getParameter(request,"password");
  63. String confirmPassword  = ParamUtils.getParameter(request,"confirmPassword");
  64. boolean usernameIsEmail = ParamUtils.getCheckboxParameter(request,"usernameIsEmail");
  65. boolean nameVisible     = !ParamUtils.getCheckboxParameter(request,"hideName");
  66. boolean emailVisible    = !ParamUtils.getCheckboxParameter(request,"hideEmail");
  67. boolean doCreate        = ParamUtils.getBooleanParameter(request,"doCreate");
  68. %>
  69. <% ///////////////////////////////////////////////////////////////////
  70. // trim up the passwords so no one can enter a password of spaces
  71. if( password != null ) {
  72. password = password.trim();
  73. if( password.equals("") ) { password = null; }
  74. }
  75. if( confirmPassword != null ) {
  76. confirmPassword = confirmPassword.trim();
  77. if( confirmPassword.equals("") ) { confirmPassword = null; }
  78. }
  79. %>
  80. <% //////////////////////
  81. // check for errors
  82. if( doCreate ) {
  83. if( email == null ) {
  84. errorEmail = true;
  85. }
  86. if( username == null ) {
  87. errorUsername = true;
  88. }
  89. if( password == null ) {
  90. errorNoPassword = true;
  91. }
  92. if( confirmPassword == null ) {
  93. errorNoConfirmPassword = true;
  94. }
  95. if( password != null && confirmPassword != null
  96.     && !password.equals(confirmPassword) )
  97. {
  98. errorPasswordsNotEqual = true;
  99. }
  100. errors = errorEmail || errorUsername || errorNoPassword
  101.          || errorNoConfirmPassword || errorPasswordsNotEqual;
  102. }
  103. %>
  104. <% ////////////////////////////////////////////////////////////////
  105. // if there are no errors at this point, start the process of
  106. // adding the user
  107. ProfileManager profileManager = null;
  108. if( !errors && doCreate ) {
  109. // get a profile manager to edit user properties
  110. profileManager = forumFactory.getProfileManager();
  111. try {
  112. User newUser = profileManager.createUser(username,password,email);
  113. newUser.setName( name );
  114. newUser.setEmailVisible( emailVisible );
  115. newUser.setNameVisible( nameVisible );
  116. success = true;
  117. }
  118. catch( UserAlreadyExistsException uaee ) {
  119. errorUserAlreadyExists = true;
  120. errorUsername = true;
  121. errors = true;
  122. }
  123. catch( UnauthorizedException ue ) {
  124. errorNoPermissionToCreate = true;
  125. errors = true;
  126. }
  127. }
  128. %>
  129. <% //////////////////////////////////////////////////////////////////////
  130. // if a user was successfully created, say so and return (to stop the 
  131. // jsp from executing
  132. if( success ) {
  133. response.sendRedirect("users.jsp?msg="
  134. + URLEncoder.encode("用户创建成功!"));
  135. return;
  136. %>
  137. <html>
  138. <head>
  139. <title></title>
  140. <link rel="stylesheet" href="style/global.css">
  141. </head>
  142. <body background="images/shadowBack.gif" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
  143. <% ///////////////////////
  144. // pageTitleInfo variable (used by include/pageTitle.jsp)
  145. String[] pageTitleInfo = { "用户", "创建用户" };
  146. %>
  147. <% ///////////////////
  148. // pageTitle include
  149. %><%@ include file="include/pageTitle.jsp" %>
  150. <p>
  151. <% // print error messages
  152. if( !success && errors ) {
  153. %>
  154. <p><font color="#ff0000">
  155. <% if( errorUserAlreadyExists ) { %>
  156. 用户名 "<%= username %>" 已经存在,请另选一个。
  157. <% } else if( errorNoPermissionToCreate ) { %>
  158. 你没有创建用户的权限。
  159. <% } else { %>
  160. 产生一般错误,请检查输入字段,然后再试。
  161. <% } %>
  162. </font><p>
  163. <% } %>
  164. <p>
  165. <font size="-1">
  166. 这里创建的用户,只有默认的设置。
  167. 一旦你创建了这个用户之后,你需要编辑他们的属性。
  168. </font>
  169. <p>
  170. <%-- form --%>
  171. <form action="createUser.jsp" method="post" name="createForm">
  172. <input type="hidden" name="doCreate" value="true">
  173. <b>新建用户信息</b>
  174. <p>
  175. <table bgcolor="#999999" cellspacing="0" cellpadding="0" border="0" width="95%" align="right">
  176. <td>
  177. <table bgcolor="#999999" cellspacing="1" cellpadding="3" border="0" width="100%">
  178. <%-- name row --%>
  179. <tr bgcolor="#ffffff">
  180. <td><font size="-1">姓名 <i>(可选)</i></font></td>
  181. <td><input type="text" name="name" size="30"
  182.  value="<%= (name!=null)?name:"" %>">
  183. </td>
  184. </tr>
  185. <%-- user email --%>
  186. <tr bgcolor="#ffffff">
  187. <td><font size="-1"<%= (errorEmail)?(" color="#ff0000""):"" %>>Email</font></td>
  188. <td><input type="text" name="email" size="30"
  189.  value="<%= (email!=null)?email:"" %>">
  190. </td>
  191. </tr>
  192. <%-- username --%>
  193. <tr bgcolor="#ffffff">
  194. <td><font size="-1"<%= (!usernameIsEmail&&errorUsername)?" color="#ff0000"":"" %>>
  195. 用户名
  196. <br>&nbsp;(<input type="checkbox" name="usernameIsEmail" 
  197.   id="cb01"<%= (usernameIsEmail)?" checked":"" %>
  198.   onclick="this.form.username.value=this.form.email.value;"> 
  199. <label for="cb01">使用Email</label>)
  200. </font>
  201. </td>
  202. <td><input type="text" name="username" size="30"
  203. <% if( usernameIsEmail ) { %>
  204.  value="<%= (email!=null)?email:"" %>">
  205. <% } else { %>
  206.  value="<%= (username!=null)?username:"" %>">
  207. <% } %>
  208. </td>
  209. </tr>
  210. <%-- password --%>
  211. <tr bgcolor="#ffffff">
  212. <td><font size="-1"<%= (errorNoPassword||errorPasswordsNotEqual)?" color="#ff0000"":"" %>
  213.  >口令</font></td>
  214. <td><input type="password" name="password" value="" size="20" maxlength="30"></td>
  215. </tr>
  216. <%-- confirm password --%>
  217. <tr bgcolor="#ffffff">
  218. <td><font size="-1"<%= (errorNoConfirmPassword||errorPasswordsNotEqual)?" color="#ff0000"":"" %>
  219.  >确认口令</font></td>
  220. <td><input type="password" name="confirmPassword" value="" size="20" maxlength="30"></td>
  221. </tr>
  222. </table>
  223. </td>
  224. </table>
  225. <br clear="all"><br>
  226. <input type="submit" value="创建用户">
  227. &nbsp;
  228. <input type="submit" value="取消"
  229.  onclick="location.href='users.jsp';return false;">
  230. </form>
  231. <script language="JavaScript" type="text/javascript">
  232. <!--
  233. document.createForm.name.focus();
  234. //-->
  235. </script>
  236. </body>
  237. </html>