[转载]让使用者在 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
posted on 2007-08-14 08:41  EricZhen  阅读(417)  评论(0)    收藏  举报