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

电子政务应用

开发平台:

Java

  1. <%
  2. /**
  3.  * $RCSfile: password.jsp,v $
  4.  * $Revision: 1.4 $
  5.  * $Date: 2000/12/18 21:37:08 $
  6.  */
  7. %>
  8. <%@ page 
  9. import="java.util.*,
  10.             com.coolservlets.forum.*,
  11.         com.coolservlets.forum.util.*,
  12.         com.coolservlets.forum.util.admin.*"
  13. errorPage="error.jsp"
  14. %>
  15. <jsp:useBean id="adminBean" scope="session"
  16.  class="com.coolservlets.forum.util.admin.AdminBean"/>
  17.  
  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. // Security check
  31. // make sure the user is authorized to create forums::
  32. ForumFactory forumFactory = ForumFactory.getInstance(authToken);
  33. boolean isSystemAdmin = ((Boolean)session.getValue("jiveAdmin.systemAdmin")).booleanValue();
  34. // redirect to error page if we're not a forum admin or a system admin
  35. if( !isSystemAdmin ) {
  36. throw new UnauthorizedException("对不起,您没有权限修改密码!");
  37. }
  38. %>
  39. <% ////////////////////
  40. // get parameters
  41. boolean doChange = ParamUtils.getBooleanParameter(request,"doChange");
  42. String adminPassword = ParamUtils.getParameter(request,"adminPassword");
  43. String username = ParamUtils.getParameter(request,"username");
  44. String newPassword = ParamUtils.getParameter(request,"newPassword");
  45. String confirmNew = ParamUtils.getParameter(request,"confirmNew");
  46. %>
  47. <% //////////////////
  48. // error variables
  49. boolean errorAdminPassword = (adminPassword==null);
  50. boolean errorUsername = (username==null);
  51. boolean errorNewPassword = (newPassword==null);
  52. boolean errorConfirmNew = (confirmNew==null);
  53. boolean errorNewPasswordsNotEqual = true;
  54. if( !errorNewPassword && !errorConfirmNew ) {
  55. if( newPassword.equals(confirmNew) ) {
  56. errorNewPasswordsNotEqual = false;
  57. }
  58. }
  59. boolean errors = ( errorAdminPassword
  60.    || errorUsername
  61.    || errorNewPassword
  62.    || errorConfirmNew
  63.    || errorNewPasswordsNotEqual
  64.  );
  65. %>
  66. <% ////////////////////
  67. // set the password if there are no errors
  68. ProfileManager manager = forumFactory.getProfileManager();
  69. boolean errorUserNotExist = false;
  70. if( !errors && doChange ) {
  71. // reauthenticate the admin:
  72. try {
  73. User adminUser = manager.getUser(authToken.getUserID());
  74. //AuthorizationFactory authFactory = AuthorizationFactory.getInstance();
  75. authToken = AuthorizationFactory.getAuthorization(adminUser.getUsername(),adminPassword);
  76. if( authToken == null ) {
  77. errorAdminPassword = true;
  78. }
  79. }
  80. catch( Exception e ) {
  81. errorAdminPassword = true;
  82. }
  83. // try to load specified user:
  84. if( !errorAdminPassword ) {
  85. try {
  86. User user = manager.getUser(username);
  87. user.setPassword(newPassword);
  88. response.sendRedirect(
  89. response.encodeRedirectURL("users.jsp?msg=密码修改成功!")
  90. );
  91. }
  92. catch( UserNotFoundException unfe ) {
  93. errorUserNotExist = true;
  94. }
  95. }
  96. }
  97. %>
  98. <% //////////////////
  99. // recheck for errors
  100. errors = (errors || errorUserNotExist || errorAdminPassword);
  101. %>
  102. <html>
  103. <head>
  104. <title></title>
  105. <link rel="stylesheet" href="style/global.css">
  106. </head>
  107. <body background="images/shadowBack.gif" bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
  108. <% ///////////////////////
  109. // pageTitleInfo variable (used by include/pageTitle.jsp)
  110. String[] pageTitleInfo = { "系统设置", "修改密码" };
  111. %>
  112. <% ///////////////////
  113. // pageTitle include
  114. %><%@ include file="include/pageTitle.jsp" %>
  115. <p>
  116. 修改密码
  117. <p>
  118. <i>(所有字段都是必须的)</i>
  119. <p>
  120. <form action="password.jsp" method="post">
  121. <input type="hidden" name="doChange" value="true">
  122. <table bgcolor="#666666" cellpadding="0" cellspacing="0" border="0" width="80%" align="center">
  123. <td>
  124. <table bgcolor="#666666" cellpadding="3" cellspacing="1" border="0" width="100%">
  125. <tr bgcolor="#ffffff">
  126. <td>
  127. <%= (doChange&&errorAdminPassword)?"<font color="#ff0000">(error)</font><br>":"" %>
  128. 请重新输入<br>管理员密码</td>
  129. <td><input type="password" name="adminPassword" size="30"></td>
  130. </tr>
  131. <tr bgcolor="#ffffff"><td colspan="2">&nbsp;</td></tr>
  132. <tr bgcolor="#ffffff">
  133. <td>
  134. <%= (doChange&&(errorUsername||errorUserNotExist))?"<font color="#ff0000">(error)</font><br>":"" %>
  135. 要修改的用户名
  136. </td>
  137. <td><input type="text" name="username" size="30"></td>
  138. </tr>
  139. <tr bgcolor="#ffffff">
  140. <td>
  141. <%= (doChange&&(errorNewPassword||errorNewPasswordsNotEqual))?"<font color="#ff0000">(Error: no password entered or passwords not equal)</font><br>":"" %>
  142. 新密码
  143. </td>
  144. <td><input type="password" name="newPassword" size="30"></td>
  145. </tr>
  146. <tr bgcolor="#ffffff">
  147. <td>
  148. <%= (doChange&&(errorConfirmNew||errorNewPasswordsNotEqual))?"<font color="#ff0000">(Error: no password entered or passwords not equal)</font><br>":"" %>
  149. 新密码确认
  150. </td>
  151. <td><input type="password" name="confirmNew" size="30"></td>
  152. </tr>
  153. </table>
  154. </td>
  155. </table>
  156. <p>
  157. <center>
  158. <input type="submit" value="修改密码">
  159. </center>
  160. </form>
  161. </body>
  162. </html>