栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在servlet应用程序中更改用户的tomcat密码?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在servlet应用程序中更改用户的tomcat密码?

我只是想通了。

首先,您必须更新server.xml并将readonly = false添加到:

<Resource auth="Container" readonly="false" description="User database thatcan be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"name="UserDatabase" pathname="conf/tomcat-users.xml"type="org.apache.catalina.UserDatabase"/>

然后在一个jsp文件中:

 <%!public static boolean changePasswd(String user, String passwd, MBeanServer mbeanServer, JspWriter out) throws Throwable{ try {String userFDN = "Users:type=User,username=""+user+"",database=UserDatabase"; ObjectName userObjName = new ObjectName(userFDN);MBeanInfo info = mbeanServer.getMBeanInfo(userObjName);Attribute attr=new Attribute("password",passwd);mbeanServer.setAttribute(userObjName, attr);ObjectName databaseObjName=new ObjectName("Users:type=UserDatabase,database=UserDatabase");Object result= mbeanServer.invoke(databaseObjName,"save",new Object[0],new String[0]); out.println("<b>Changed password and, Saved: "+result+"</b>");return true;    } catch (Throwable t) {out.print("<font color='red'>WHY: </font>" + t);} return false; }%>  <%MBeanServer mbeanServer = (MBeanServer) list.get(0);   //ObjectName obname = new ObjectName(   "Catalina:type=Resource,resourcetype=Global,class=org.apache.catalina.UserDatabase,name="UserDatabase"" );   ArrayList list = MBeanServerFactory.findMBeanServer(null);     MBeanServer mbeanServer = (MBeanServer) list.get(0);   changePasswd("user","passwd",mbeanServer,out);

/ N



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号