您的位置:首页 > 其它

在SharePoint中修改AD用户密码的WebPart

2009-05-10 16:10 330 查看
1、在默认网站发布一个虚拟目录

目录名称为:IISADMPWD。

地址: C:/WINDOWS/system32/inetsrv/iisadmpwd。

设置允许执行asp。

设置aexp2.asp或者aexp4.asp为起始页面。

修改aexp2.asp内的代码 form中的"https://" 为"http://"。

(如果想要https的安全证书服务,可上网查询具体的设置,但是一般无此必要。)

运行aexp2.asp,可以看到已经可以修改密码了。

2、添加 "网页查看器" webpart(该操作可以通过一个ifram来替代) ,编写网页的地址为 aexp2.asp的http://网址

,到此为止已经可以修改密码了。

用iframe替代的源码:

<div id="WebPartWPQ2" width="100%" style="height:280px;overflow:auto;" >

<iframe title="网页查看器 Web 部件" frameBorder="0" id="iframe1" name="MSOPageViewerWebPart_WebPartWPQ2" width="100%" height="100%" src="http://192.168.0.55/IISADMPWD/aexp2.asp" >
<div class="UserGeneric">当前浏览器不支持包含 IFRAME 元素的网页。若要使用此 Web 部件,必须使用支持该元素的浏览器,例如 Internet Explorer 5 或更高版本。</div>
</iframe>
</div>

3、如果想要自动添加用户,可以添加以下代码。

编写一个webpart

代码如下:

public class CurrentUser : System.Web.UI.WebControls.WebParts.WebPart
{
public CurrentUser()
{
this.ExportMode = WebPartExportMode.All;
}
protected override void CreateChildControls()
{
StringBuilder strUser = new StringBuilder();
strUser.Append("<span id='UserNameDiv' >" + Environment.UserName + "</span>");
this.Controls.Add(new LiteralControl(strUser.ToString()));
}
}

注*:加入此webpart到需要修改密码的页面(将来要隐藏起来的)。

添加js代码到页面:

<script type="text/javascript">
var UserNameDiv=document.getElementById('UserNameDiv');
var iframe1= document.getElementById('iframe1');
iframe1.src='http://192.168.0.55/IISADMPWD/aexp2.asp?'+UserNameDiv.innerText;
</script>

修改axep2.asp代码

<HTML>

<title>修改密码</title>

<FONT COLOR=FFFFFF>
<style type="text/css">
<!--
.STYLE1 {
font-size: 14px;
color: #333333;
}
.tc {
padding-right: 15px;
}
-->
</style>
</FONT>

<head>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312">
</head>

<BODY BGCOLOR=#FFFFFF LINK=000000 VLINK=000000>

<p>

<form method="POST" action="https://192.168.0.55/iisadmpwd/achg.asp?vaio">

<table width="339" height="247" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="339" height="247" align="center" valign="top" class="tc"><br /><br/>
<table width="100%" height="180" border="0" cellpadding="0" cellspacing="0">

<tr id='userTr'>
<td height="30" align="right" valign="middle" width='139'><span class="STYLE1">帐户:</span></td>
<td width="200" height="30" align="left" valign="middle"><input id='userId' type="text" name="acct" autocomplete="off" style='width:145px;' value="
"></td>
</tr>
<tr>
<td height="30" align="right" valign="middle"><span class="STYLE1">旧密码:</span></td>
<td width="150" height="30" align="left" valign="middle"><input type="password" name="old" value="" width='152px'></td>
</tr>
<tr>
<td height="30" align="right" valign="middle"><span class="STYLE1">新密码:</span></td>
<td width="150" height="30" align="left" valign="middle"><input type="password" name="new" value=""></td>
</tr>
<tr>
<td height="30" align="right" valign="middle"><span class="STYLE1">确认新密码:</span></td>
<td width="150" height="30" align="left" valign="middle"><input type="password" name="new2" value=""></td>
</tr>
<tr>
<td height="30" align="right" valign="middle"> </td>
<td height="30" align="left" valign="middle">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="left" width='80px'><input id='lok' type="submit" value="确定" style="width: 65px">

</td>
<td align="right"><input type="reset" value="重置" style="width: 65px;">
</td>
</tr>
</table>

 
</td>
</tr>
</table></td>
</tr>
</table>

<script>
var urlList= window.location.href;
var url=urlList.split("?");
if(url.length>1)
{
var userName=url[1];
var user= document.getElementById('userId');
user.value=userName;
var userTr= document.getElementById('userTr');
userTr.style.display='none';
}

</script>
</form>

</body>
</html>

至此全部完成。如果出现密码过短的提示,注意修改下策略就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐