mirror of
				https://github.com/ZSCNetSupportDept/WechatTicketSystem.git
				synced 2025-10-31 10:26:19 +08:00 
			
		
		
		
	add setpass
This commit is contained in:
		| @@ -0,0 +1,79 @@ | ||||
| package love.sola.netsupport.api.admin.root; | ||||
|  | ||||
| import love.sola.netsupport.enums.Access; | ||||
| import love.sola.netsupport.enums.Attribute; | ||||
| import love.sola.netsupport.pojo.Operator; | ||||
| import love.sola.netsupport.sql.SQLCore; | ||||
| import love.sola.netsupport.util.Checker; | ||||
| import love.sola.netsupport.util.Crypto; | ||||
| import love.sola.netsupport.wechat.Command; | ||||
| import me.chanjar.weixin.common.session.WxSession; | ||||
| import org.hibernate.Session; | ||||
|  | ||||
| import javax.servlet.ServletException; | ||||
| import javax.servlet.annotation.WebServlet; | ||||
| import javax.servlet.http.HttpServlet; | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| import java.io.IOException; | ||||
| import java.io.PrintWriter; | ||||
|  | ||||
| /** | ||||
|  * *********************************************** | ||||
|  * Created by Sola on 2015/12/20. | ||||
|  * Don't modify this source without my agreement | ||||
|  * *********************************************** | ||||
|  */ | ||||
| @WebServlet(name = "SetPassword",urlPatterns = "/api/admin/setpass",loadOnStartup = 43) | ||||
| public class SetPassword extends HttpServlet{ | ||||
|  | ||||
| 	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | ||||
| 		doGet(request, response); | ||||
| 	} | ||||
|  | ||||
| 	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { | ||||
| 		request.setCharacterEncoding("utf-8"); | ||||
| 		response.setCharacterEncoding("utf-8"); | ||||
| 		response.addHeader("Content-type", "text/plain;charset=utf-8"); | ||||
| 		PrintWriter out = response.getWriter(); | ||||
| 		process(request, out); | ||||
| 		out.close(); | ||||
| 	} | ||||
|  | ||||
| 	private void process(HttpServletRequest request, PrintWriter out) { | ||||
| 		WxSession session = Checker.isAuthorized(request, Command.LOGIN); | ||||
| 		if (session == null) { | ||||
| 			out.println("Unauthorized"); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		Operator op = (Operator) session.getAttribute(Attribute.OPERATOR); | ||||
| 		if (op.getAccess() != Access.ROOT) { | ||||
| 			out.println("Unauthorized"); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		String id = request.getParameter("id"); | ||||
| 		String pass = request.getParameter("pass"); | ||||
| 		if (pass == null || pass.length() < 8) { | ||||
| 			out.println("Invalid pass"); | ||||
| 			return; | ||||
| 		} | ||||
| 		try (Session s = SQLCore.sf.openSession()) { | ||||
| 			s.beginTransaction(); | ||||
| 			op = s.get(Operator.class, Integer.parseInt(id)); | ||||
| 			if (op == null) { | ||||
| 				out.println("Invalid user"); | ||||
| 				return; | ||||
| 			} | ||||
| 			op.setPassword(Crypto.hash(pass)); | ||||
| 			s.update(op); | ||||
| 			s.getTransaction().commit(); | ||||
| 			out.println("Operation success"); | ||||
| 		} catch (NumberFormatException e) { | ||||
| 			out.println("Invalid id"); | ||||
| 			return; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Sola
					Sola