[转载]让使用者在 WSSv3(MOSS 2007) 变更密码
Sharepoint 的使用者资讯设定裡, 并没有提供让使用者自行修改密码的功能。还好 WSSv3 (MOSS 2007) 使用的是 ASP.NET 2.0 Membership Provider, 修改密码的工作可以交给 Membership Provider 来处理, 我们只要使用 <asp:ChangePassword /> 这个控制项, 就可以提供变更密码的功能。
一种方法是把 <asp:ChangePassword /> 做成 WebPart (或者是加到 SmartPart 之中), 然后建立一个网页组件页面, 再把 WebPart 放进页面中。
另一种作法, 是建立一个专属的 .aspx 页面到 layouts 目录, 因為变更使用者个人资讯的页面也是这样。将下面的档案存到 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\userchgpwd.aspx, (如果你的 layouts 位置不同请找一下正确的路径)
<%@ Page Language="C#" MasterPageFile="~/_layouts/application.master" %>
<script runat="server">
protected void cp1_ContinueButtonClick(object sender, EventArgs e)
{
Response.Redirect(Request.ApplicationPath);
}
</script>

<asp:Content ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">
變更密碼
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server" OnContinueButtonClick="cp1_ContinueButtonClick">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<asp:ChangePassword id="cp1" runat="server">
</asp:ChangePassword>
</td>
</tr>
</table>
</asp:Content>

第二步则是在使用者选单裡加入变更密码的连结, 要修改 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\Welcome.ascx 这个档案, 在 ID_PersonalInformation 与 ID_LoginAsDifferentUser 之间加入一个新的 <SharePoint:MenuItemTemplate />, 并把点选路径指向 /_layouts/userchgpwd.aspx (如果你的密码变更路径不一样, 要改成正确的路径), 就会在使用者选单裡多一个变更密码的选项。

<SharePoint:MenuItemTemplate runat="server" id="ID_PersonalInformation"

/>


<SharePoint:MenuItemTemplate runat="server" id="ID_ChangePassword"
Text="變更密碼"
Description="修改個人登入密碼"
MenuGroupId="100"
Sequence="100"
UseShortId="true"
ClientOnClickNavigateUrl="/_layouts/userchgpwd.aspx"
/>


<SharePoint:MenuItemTemplate runat="server" id="ID_LoginAsDifferentUser"

/>

来源:http://blogs.msdn.com/wtchou/archive/2007/04/27/wss-moss.aspx
一种方法是把 <asp:ChangePassword /> 做成 WebPart (或者是加到 SmartPart 之中), 然后建立一个网页组件页面, 再把 WebPart 放进页面中。
另一种作法, 是建立一个专属的 .aspx 页面到 layouts 目录, 因為变更使用者个人资讯的页面也是这样。将下面的档案存到 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\userchgpwd.aspx, (如果你的 layouts 位置不同请找一下正确的路径)
<%@ Page Language="C#" MasterPageFile="~/_layouts/application.master" %>
<script runat="server">
protected void cp1_ContinueButtonClick(object sender, EventArgs e)
{
Response.Redirect(Request.ApplicationPath);
}
</script>
<asp:Content ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">
變更密碼
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server" OnContinueButtonClick="cp1_ContinueButtonClick">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<asp:ChangePassword id="cp1" runat="server">
</asp:ChangePassword>
</td>
</tr>
</table>
</asp:Content> 

第二步则是在使用者选单裡加入变更密码的连结, 要修改 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\Welcome.ascx 这个档案, 在 ID_PersonalInformation 与 ID_LoginAsDifferentUser 之间加入一个新的 <SharePoint:MenuItemTemplate />, 并把点选路径指向 /_layouts/userchgpwd.aspx (如果你的密码变更路径不一样, 要改成正确的路径), 就会在使用者选单裡多一个变更密码的选项。
<SharePoint:MenuItemTemplate runat="server" id="ID_PersonalInformation"

/>

<SharePoint:MenuItemTemplate runat="server" id="ID_ChangePassword"
Text="變更密碼"
Description="修改個人登入密碼"
MenuGroupId="100"
Sequence="100"
UseShortId="true"
ClientOnClickNavigateUrl="/_layouts/userchgpwd.aspx"
/>

<SharePoint:MenuItemTemplate runat="server" id="ID_LoginAsDifferentUser"

/>

来源:http://blogs.msdn.com/wtchou/archive/2007/04/27/wss-moss.aspx
浙公网安备 33010602011771号