前台代码如下:

<div align="center">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="right" style="height: 22px ; padding-top:15px; color:#1987df;">
用户名:
</td>
<td style="height: 22px; padding-top:15px; color:#1987df;">
<asp:TextBox ID="txtusername" BackColor=Snow runat="Server" ReadOnly="true" BorderStyle="solid" BorderWidth="1px" BorderColor="#1987df"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" style="height: 22px; padding-top:15px; color:#1987df;">旧密码:</td>
<td align="left" style="height: 22px; padding-top:15px;"><asp:TextBox ID="oldpwd" runat="server" BorderStyle="solid" TextMode="password" BorderWidth="1px" BorderColor="#1987df"></asp:TextBox></td>
</tr>
<tr>
<td align="right" style="height: 22px; padding-top:15px; color:#1987df;">新密码:</td>
<td align="left" style="height: 22px; padding-top:15px;"><asp:TextBox ID="newpwd" runat="server" TextMode="password" BorderStyle="solid" BorderWidth="1px" BorderColor="#1987df"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" style="height: 22px; padding-top:15px; color:#1987df;">新密码:</td>
<td align="left" style="height: 22px; padding-top:15px;"><asp:TextBox ID="surepwd" runat="server" TextMode="password" BorderStyle="solid" BorderWidth="1px" BorderColor="#1987df"></asp:TextBox></td>
</tr>
<tr >
<td colspan="2" align="center" style="height: 22px; padding-top:15px;">
<asp:Button ID="btnSubmit" runat="server" Text="修改" BorderStyle="solid" BorderWidth="1px" OnClientClick="if(!confirm('确认修改?')){return false}" BorderColor="#1987df" Width="65" BackColor="lightblue" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
</div>
后台代码如下:
public DirectoryEntry GetDirectoryEntry()

{

DirectoryEntry entry = new DirectoryEntry("WinNT://hist-sharepoint", "用户名", "密码",

AuthenticationTypes.Secure);
return entry;
}
public string GetName(string username)

{
DirectoryEntry user;
user = GetDirectoryEntry().Children.Find(username, "User");
return user.Properties["FullName"].Value.ToString();
}
protected void Page_Load(object sender, EventArgs e)

{

string username = this.Context.User.Identity.Name.ToString();
username = username.Substring(username.LastIndexOf("\\") + 1);
this.txtusername.Text = username;
}

protected void btnSubmit_Click(object sender, EventArgs e)

{
string oldpsd = this.oldpwd.Text.ToString().Trim();
string newpsd = this.newpwd.Text.ToString().Trim();
string Spwd = this.surepwd.Text.ToString().Trim();
if (oldpsd.Trim()=="")

{
Page.ClientScript.RegisterStartupScript( GetType(),"", Getjs("用户旧密码不能为空"));
return;
}
if (newpsd.Trim() == "")

{
Page.ClientScript.RegisterStartupScript(GetType(), "", Getjs("用户新密码不能为空"));
return;
}
if (newpsd != Spwd)

{
Page.ClientScript.RegisterStartupScript(GetType(), "", Getjs("两次输入密码不一致"));
}
try

{
string username = this.Context.User.Identity.Name.ToString();
username = username.Substring(username.LastIndexOf("\\") + 1);
DirectoryEntry user = new DirectoryEntry("WinNT://./" + username);

user.Invoke("ChangePassword", new object[]
{oldpsd, newpsd });
}
catch (Exception ex)

{
Page.ClientScript.RegisterStartupScript(GetType(), "", Getjs(ex.ToString()));
}

}

private string Getjs(string str)

{
str = str.Replace("\"", "\\\"");
str = str.Replace("\r\n", "\\n");

string js = "<script language='javascript'>alert(\"" + str + "\");</script>";
return js;


}
posted @ 2007-08-09 15:06
江闯 阅读(361)
评论(0) 编辑 收藏 所属分类:
SharePoint