SharePoint Reset Password Web Part



Similar documents
Overview of Microsoft Office 365 Development

Pipeliner CRM Phaenomena Guide Getting Started with Pipeliner Pipelinersales Inc.

Active Directory Provider User s Guide

Lab Answer Key for Module 6: Configuring and Managing Windows SharePoint Services 3.0. Table of Contents Lab 1: Configuring and Managing WSS 3.

Windows Azure Pack Installation and Initial Configuration

Pipeliner CRM Phaenomena Guide Administration & Setup Pipelinersales Inc.

Microsoft Dynamics GP. Workflow Installation Guide Release 10.0

Pipeliner CRM Phaenomena Guide Add-In for MS Outlook Pipelinersales Inc.

Hyper-V Server 2008 Setup and Configuration Tool Guide

Virto Password Reset Web Part for SharePoint. Release Installation and User Guide

How to Secure a Groove Manager Web Site

CRM to Exchange Synchronization

MBAM Self-Help Portals

Windows Server Update Services 3.0 SP2 Step By Step Guide

CRM Form to Web. Internet Lead Capture. Installation Instructions VERSION 1.0 DATE PREPARED: 1/1/2013

Pipeliner CRM Phaenomena Guide Opportunity Management Pipelinersales Inc.

Pipeliner CRM Phaenomena Guide Sales Pipeline Management Pipelinersales Inc.

Management Reporter Integration Guide for Microsoft Dynamics AX

Redeploying Microsoft CRM 3.0

Usage Analysis Tools in SharePoint Products and Technologies

Collaboration Technology Support Center Microsoft Collaboration Brief

Improving Performance of Microsoft CRM 3.0 by Using a Dedicated Report Server

Update and Installation Guide for Microsoft Management Reporter 2.0 Feature Pack 1

CRM to Exchange Synchronization

Business Portal for Microsoft Dynamics GP Field Service Suite

EventTracker: Support to Non English Systems

Defender Token Deployment System Quick Start Guide

AD RMS Step-by-Step Guide

SELF SERVICE RESET PASSWORD MANAGEMENT DATABASE REPLICATION GUIDE

Pipeliner CRM Phaenomena Guide Lead Management Pipelinersales Inc.

Test Lab Guide: Creating a Windows Azure AD and Windows Server AD Environment using Azure AD Sync

Google Apps Deployment Guide

RoomWizard Synchronization Software Manual Installation Instructions

Installing Windows Rights Management Services with Service Pack 2 Step-by- Step Guide

Administration Guide for the System Center Cloud Services Process Pack

Microsoft Dynamics GP Release

Using Microsoft Windows Authentication for Microsoft SQL Server Connections in Data Archive

A SharePoint Developer Introduction

Customizing Remote Desktop Web Access by Using Windows SharePoint Services Stepby-Step

Lab Answer Key for Module 9: Active Directory Domain Services. Table of Contents Lab 1: Exploring Active Directory Domain Services 1

Hands-On Lab: WSUS. Lab Manual Expediting WSUS Service for XP Embedded OS

Technical Brief for Windows Home Server Remote Access

Mobile Device Management Version 8. Last updated:

Pipeliner CRM Phaenomena Guide Sales Target Tracking Pipelinersales Inc.

Creating and Deploying Active Directory Rights Management Services Templates Step-by-Step Guide

Special thanks to the following people for reviewing and providing invaluable feedback for this document: Joe Davies, Bill Mathers, Andreas Kjellman

EventTracker: Configuring DLA Extension for AWStats report AWStats Reports

EventTracker: Configuring DLA Extension for AWStats Report AWStats Reports

Microsoft Dynamics AX 2009 Installation Guide. Microsoft Corporation Published: November 2009

Deploying the Workspace Application for Microsoft SharePoint Online

AD Self-Service Suite for Active Directory

Centrify Mobile Authentication Services

CRM Form to Web. Internet Lead Capture. Product Registration Instructions VERSION 1.0 DATE PREPARED: 1/1/2013

Microsoft Dynamics CRM Adapter for Microsoft Dynamics GP

Security Assertion Markup Language (SAML) Site Manager Setup

Copyright 2013, 3CX Ltd.

NT Authentication Configuration Guide

How To Set Up Chime For A Coworker On Windows (Windows) With A Windows 7 (Windows 7) On A Windows 8.1 (Windows 8) With An Ipad (Windows).Net (Windows Xp

Sage CRM Connector Tool White Paper

Business Portal for Microsoft Dynamics GP. Project Time and Expense Administrator s Guide Release 10.0

Web Testing, Java Testing, Server Monitoring. AppPerfect Installation Guide

Microsoft Dynamics GP. econnect Installation and Administration Guide Release 9.0

All other trademarks are property of their respective owners.

Vyapin Office 365 Management Suite

Management Reporter Integration Guide for Microsoft Dynamics GP

AvePoint Meetings for SharePoint Online. Configuration Guide

Lab 02 Working with Data Quality Services in SQL Server 2014

TIBCO Spotfire Automation Services 6.5. User s Manual

SharePoint Password Change & Expiration 3.0 User Guide

Windows BitLocker Drive Encryption Step-by-Step Guide

Microsoft Lync Server 2010

Alert Notification of Critical Results (ANCR) Public Domain Deployment Instructions

The 2007 R2 Version of Microsoft Office Communicator Mobile for Windows Mobile: Frequently Asked Questions

Deep Dive into SharePoint Provider Hosted Apps

Interact for Microsoft Office

2X Cloud Portal v10.5

Citrix EdgeSight for Load Testing Installation Guide. Citrix EdgeSight for Load Testing 3.8

Multiple Formatter Support for the Logging Application Block

Secure IIS Web Server with SSL

MicrosoftDynam ics GP TenantServices Installation and Adm inistration Guide

nopcommerce User Guide

Implementing and Supporting Windows Intune

Polar Help Desk Installation Guide

SmoothWall Virtual Appliance

Office Language Interface Pack for Farsi (Persian) Content

ResPAK Internet Module

File and Printer Sharing with Microsoft Windows

Sage HRMS 2014 Sage Employee Self Service Tech Installation Guide for Windows 2003, 2008, and October 2013

Sophos Mobile Control Startup guide. Product version: 3.5

Omniquad Exchange Archiving

NTP Software File Reporter Analysis Server

CA Performance Center

Sage 200 Web Time & Expenses Guide

SQL Server 2005 Reporting Services (SSRS)

A SharePoint Developer Introduction. Hands-On Lab. Lab Manual HOL8 Using Silverlight with the Client Object Model C#

To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.

DocAve for Office 365 Sustainable Adoption

Installation Guide for Pulse on Windows Server 2012

Product Manual. MDM On Premise Installation Version 8.1. Last Updated: 06/07/15

Workflow Conductor for SharePoint 2010

Transcription:

SharePoint Reset Password Web Part ASP.Net Sample Guide Release 2.0 (HW10) Contents Overview... 2 Installation... 2 Password Reset Setup Program... 2 Installing the Sample Applications... 3 Solution Components... 4 Email Option: Usage Guide... 4 How Does it Work?... 4 Installing the ASP.NET Application... 5 Security Questions Option: Usage Guide... 5 Customizing the ASP.NET Applications... 6 Programmatic Reference... 6 About Bamboo Solutions Corporation Bamboo Solutions Corporation is a software technology provider specializing in hosted, collaborative software solutions built on Microsoft SharePoint Technology and Services. Our business collaboration solution is designed for clients who need rapid implementation, quick user acceptance and immediate productivity gains. Bamboo Solutions is a privately held company with headquarters in Reston, Virginia. Bamboo Solutions Corporation 11417 Sunset Hills Road, Suite 105 Reston, VA 20190 store.bamboosolutions.com Copyright Notice This document is provided for informational purposes only and Bamboo Solutions makes no warranties, either express or implied, in this document. Information in this document is subject to change without notice. The example companies, organizations, products, people and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Bamboo Solutions Corporation. Bamboo Solutions may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Bamboo Solutions, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Published work 2006 Bamboo Solutions Corporation. All rights reserved. Bamboo Solutions, WD3, are registered trademarks of Bamboo Solutions Corporation. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Overview The Bamboo Reset Password Web Part product is designed to offer users with two options for setting up a reset password solution in their environments. Web Part Mode (See product App Notes) ASP.NET Application Mode The first option is to use the Web Part provided with the application installer to handle end user system interaction. This Web Part can be used out of the box to provide an end to end reset password solution. Please see the product Application Notes for a detailed guide to using the Web Part based solution. The second product option, which is the focus of this document, is to configure the solution to provide end user interaction through custom web pages. This second method allows for precise control over the end user experience and may be preferable in some environments. There are two sample ASP.NET applications provided with the product download. The first contains a sample that uses e-mail based confirmation to facilitate a password reset. The second sample uses a password reset model driven by online security questions. Sample pages and code files are written in C# using Visual Studio.NET. The source files can be used: as-is as a prepared solution, as a customization starting point, or as a reference guide for developing ones own custom web pages. This document is intended to help users setup and use of the sample projects. It also provides background documentation related to how the Reset Password core utility interfaces are exposed. Installation The two Bamboo Reset Password sample applications can be installed by running their respective setup routines from the main product setup page.. Password Reset Setup Program Before you begin, you need to make sure you have access to the server and your account must have the appropriate administrative privileges to install applications. The Password Reset Setup program provides links to the various installation components for Password Reset. These components include the Bamboo License Manager as well as the Application Notes. To access the Password Reset Setup program: 1. Unzip the contents of your product download. Be sure that all files and subfolders are selected to be extracted. 2. The folder hierarchy contains a file at the root of the extraction folder named Setup.bat. It also contains the following folders: o \doc Contains a HTML-based version of the product Application Notes. o \msi Contains the product installation executables. o \cab Contains the cabinet files that can be used for manual installs. 3. Find the Setup.bat file located at the root of the extraction folder. 4. Double-click this file to launch the setup page. 5. The setup page contains links to the various product components under the Components header in the left margin. Click on any of these links to view a description of the component in the right text area of the page. Most of the installs you can launch with a single click of the Install button that appears beneath the component description. Release 2.0 HW10 ASP.NET Sample Guide Page 2 of 10

Installing the Sample Applications To install a Password Reset Sample Application, from the Password Reset Setup program, click the either the Password Reset Sample ASP.Net Application Email Option or the Password Reset Sample ASP.Net Application Security Questions Option component and then click the Install button. You can install both sample applications on the same server, but you will need to run each installation routine separately. NOTE: The Setup program automatically detects the version of SharePoint or WSS on which you are installing the sample application and displays the component button for the appropriate installation programs. In other words, if you are installing the sample applications on WSS 3.0 or Office SharePoint Server 2007 then only the component installs for Password Reset for WSS 3.0 are displayed. The setup of each sample application will follow the same installation steps. The following instructions will show screen shots from the Email Option sample application. The Security Questions Option sample application install will follow the same installation steps. Once the setup routine is launched, you will be presented with a welcome screen. Simply click the Next button to begin. Release 2.0 HW10 ASP.NET Sample Guide Page 3 of 10

The next step of the installation process will prompt to specify the Site under which the sample application will be created, and it will ask for you the name of the Virtual Directory to create beneath the site. Once this information has been entered, then click the Next button to continue. You will receive a confirmation window (not pictured) and will need to click the Next button again to initiate the install. When the installation is complete, an installation summary window will be displayed (also not pictured). Please confirm the successful installation and simply click the Finish button to close the installation routine. If desired, follow the same set of steps to install the second sample application. Solution Components Note: This section to be updated for release 2.0 soon. Email Option: Usage Guide Note: This section contains information that may or may not need to be updated for release 2.0. These document changes will take place soon. How Does it Work? A user navigates to the Reset.aspx page and receives a simple UI requesting entry of their user name and email address. A Submit button click from this form then calls the core Bamboo.Utility.ResetPassword object constructor and makes a call to sendinitialemail. This will result in an initial confirmation email being sent to the email address of the account requesting the password reset. The confirmation email will contain a hyperlink back to the Reset.aspx page to confirm that indeed the reset password request originated from an authorized source and is still desired. Upon receipt of the user confirmation (by clicking on the email hyperlink), a call is made on the server to the sendfinalemail method. This causes the password to be reset to a randomly generated value that is then sent back to the user in a second (and final) email message. The password reset process is considered complete and the user can log into their SharePoint portal using the new password. Release 2.0 HW10 ASP.NET Sample Guide Page 4 of 10

Reset.aspx Bamboo.Utility.dll Http: Page_Load event User Name: Email: Authenticate Admin Credentials ResetPassword Constructor: public ResetPassword(string Domain,string AdminUser,string AdminPassword,string SharepointAdminUser,string SharepointAdminPassword) Submit public void sendinitialmail(string emailid,string Username, string CurrentURL,string SMTPServer,string EmailFrom) Page_Load event public void sendfinalmail(string emailid,string Username,string SMTPServer,string EmailFrom) (Admin credentials are re-authenticated here too.) New Password Installing the ASP.NET Application 1. Install the sample application as described in the preceding section. 2. Modify XML settings file config.xml using a text editor a. setadadminname Login account of the Active Directory Administrator b. setadadminpassword Login password of the Active Directory Administrator c. setspadminuser Login account of a SharePoint Administrator d. setspadminpassword Login password of the SharePoint Administrator account e. setntdomain (true/false) Boolean value indicating whether user accounts used in SharePoint are controlled by NT (true) or are Active Directory based (false) f. setdomain Fully qualified network Domain g. setemailfrom Sender address for all emails generated by the system h. setinitialemailsubject Text to be inserted into the email Subject for email sent in the initial confirmation i. setinitialemailmessage Text to be used as the message body of the initial email sent requesting confirmation j. setfinalemailsubject Text to be inserted into the email Subject for the final email sent indicating that the password has been reset k. setfinalemailmessage Text to be used as the message body in the final email sent indicating that the password has been reset l. setsmtpserver SMTP server name to use for outgoing email messages m. setexcludedlistofusers List of user logins, separated by semicolon ; characters, to refuse password reset requests for 3. The ASP.NET based Reset Password solution is ready for use. For tips on customizing the existing solution, please see the next section. Security Questions Option: Usage Guide Note: This section to be updated for release 2.0 soon. Release 2.0 HW10 ASP.NET Sample Guide Page 5 of 10

Customizing the ASP.NET Applications Note: This section to be updated for release 2.0 soon. The Reset Password sample solutions can be customized for your environment using Visual Studio.NET 2003 (SPv2) or Visual Studio.NET 2005 (SPv3). Create a new ASP.Net project, and add the following files to the project depending on which sample application you are customizing. Email Option Sample Application: Security Questions Option Sample Application: Typical customization scenarios that can be made are: Alter the look and feel of the UI through modifications to the layout of Default.aspx. Change the reset password process for the Email Option to bypass the confirmation step. Include the requirement to validate additional user information before a reset request can be initiated. Add security to administrator passwords by removing the need for these entries from the config.xml file. Programmatic Reference Assembly: Bamboo.DirectoryServices.dll. There are 2 major name spaces in this assembly. 1) Bamboo.DirectoryServices. This name space contain all the classes to do the actual reset password logic 2) Bamboo.Utility name space contain wrapper classes for Bamboo.Directory Services classes + Email class. Name Space = Bamboo.DirectoryServices Major Classes: 1. Bamboo.DirectoryServices.AdministrativeAccount: used to Set administrative account information such as user name, password, logon domain name. This creates the an object to be used as one of the parameters of the 2. Bamboo.DirectoryServices.ResetPasswordService Bamboo.DirectoryServices.AdministrativeAccount administrativeaccount = new Bamboo.DirectoryServices.AdministrativeAccount(); administrativeaccount.domain = this.admindomain; administrativeaccount.password = this.adadminpassword; administrativeaccount.username = this.adadminuser; Domain- If you are using Active Directory, then this field stores the full qualified name of that Active Directory domain. For example: us.bamboo.com. If you are using Windows NT to handle your users, then this setting is the machine name. UserName: AdminUser is a user who has the administrator rights to Active Directory. If you are using Windows NT based user accounts, then the AdminUser is the machine administrator. Password: The password of the above said AdminUser. Bamboo.DirectoryServices.ResetPasswordService: This class helps to reset the password of the User which can be either in Active Directory or Windows NT local machine. Constructors: This class has only one default constructor. public ResetPasswordService(AdministrativeAccount administrativeaccount, string fullyqualifieddomainname,string defaultdomain) This constructor requires 3 parameters. AdministrativeAccount: use administrativeaccount object created from previous class Release 2.0 HW10 ASP.NET Sample Guide Page 6 of 10

fullyqualifieddomainname: For AD it is the domain or subdomain fully qualified domain anme. example qa.bamboo.local. For Window NT local machine then it is the machine name default domain: Active Directory: Logon domain name of the users that you want to reset password. Example qa for qa\user1. Window NT: machine name. This class implemented these public interfaces. It also has its own public methods. interface IResetPasswordService { string ResetPassword(string accountname, bool mustchangepasswordatnextlogin, bool unlockaccount, bool enableifdisabled, bool isexcludegroup, ref string listgroups); bool MustChangePasswordAtNextLogin( string accountname, bool mustchangepasswordatnextlogin ); string GetProperty( string accountname, string propertyname ); Hashtable GetProperties( string accountname, string[] propertynames ); bool IsUserInGroup(string accountname, string listgroups); bool IsExistGroup(string groupname); } public string ResetPassword(string accountname, bool mustchangepasswordatnextlogin, bool unlockaccount, bool enableifdisabled, bool isexcludegroup, ref string listgroups); //listgroups: group or user names to be exlcuded from reset password bool MustChangePasswordAtNextLogin( string accountname, bool mustchangepasswordatnextlogin ); This method set the flag to force user to change password in the next login. string GetProperty( string accountname, string propertyname ): Get the property value of the property name for an AD account. This is used for Security Questions mode and it is applicable for AD only. Not for NT. Hashtable GetProperties( string accountname, string[] propertynames ); same as above and return hastable. public bool IsUserInGroup(string loginname, string listgroups): this method check to see if an account belongs to a AD or NT groups to be excluded. You can t reset password for users belong in this group. listggroups parameters include the groupnames separated by ;. public bool IsExistGroup((string groupname): Check to see whether the group name is indeed in AD domain or NT groups. public int CheckExistGroups(string listgroupnames) : Check to see whether the groups names are indeed in AD domain or NT groups. Return (-1) for false. public bool HasLicense(): Check to see if the Bamboo.DirectoryServices.dll has valid license. B. Name Space Bamboo.Utility ClassName: Bamboo.Utility.IResetPasswordComponent : This is a wrapper class for the Bamboo.DirectoryServices.ResetPasswordService. This class is used for use case 2 which is the Security questions. Release 2.0 HW10 ASP.NET Sample Guide Page 7 of 10

This class implement this interface: public interface IResetPasswordComponent { string[] ExcludedUsers{ set; } NameValueCollection SecurityAnswers{ set; } string ResetPassword(string username, string emailaddress, bool mustchangepasswordatnextlogin, bool unlockaccount, bool enableifdisable, bool isexcludegroup, string listgroups); string ResetPassword(string username, bool mustchangepasswordatnextlogin, bool unlockaccount, bool enableifdisable, bool isexcludegroup, string listgroups); } Sample Codes: Bamboo.DirectoryServices.AdministrativeAccount adminaccount = new Bamboo.DirectoryServices.AdministrativeAccount(); adminaccount.username = ADAdminName.InnerText.Trim(); adminaccount.password = ADAdminPassword.InnerText.Trim(); adminaccount.domain = ADDomain.InnerText.Trim(); string[] exusers = GetExcludedUsers(excludedListofUsers.InnerText.Trim()); System.Collections.Specialized.NameValueCollection securityanswers = GetSecurityAnswers(); Bamboo.Utility.IResetPasswordComponent resetpwdcom = new Bamboo.Utility.ResetPasswordComponent(adminAccount, fulldomain.innertext.trim(),this.defaultdomain.innertext.trim()); resetpwdcom.excludedusers = exusers; resetpwdcom.securityanswers = securityanswers; Class: Bamboo.Utility.Email Purpose: Helper to send SMTP email. Parameters are self explainatory. public EmailHelper(){} public void SendSMTPMail(string emailfrom, string emailto, string emailcc, string emailbcc, string emailsubject, string emailmessage,string smtpservername) Release 2.0 HW10 ASP.NET Sample Guide Page 8 of 10

Setting File: <dynamicvariables> <!--Indicating whether user accounts used in SharePoint are controlled by NT (true) or are Active Directory based (false)--> <setntdomain>false</setntdomain> <!-- BEGIN User accounts used in SharePoint are controlled by NT --> <setntservername>yourntservername</setntservername> <!--Sharepoint Admin User Account Information This account should have access to read the site user collection--> <setspadminuser>spadministrator</setspadminuser> <setspadminpassword>spadminpassword</setspadminpassword> <!-- End NT Account Information --> <!--BEGIN AD Administrator Information--> <!-- Login account of the Active Directory Administrator--> <setadadminname>adadministrator</setadadminname> <!--- Password of the ActiveDirectory Administrator --> <setadadminpassword>adadminpassword</setadadminpassword> <!--- Logon Domain of the ActiveDirectory Administrator --> <setadadminlogondomain>domain</setadadminlogondomain> <!--END AD Administrator Information --> <!--BEGIN AD Domain/SubDomain Information--> <!--Full Qualified Domain--> <setfullyqualifieddomainname>yourfullyqualifieddomainname</setfullyqualifiedd omainname> <!--Deafult Logon Domain Name for Users in this domain or subdomain--> <setdefaultlogondomainname>defaultdomain</setdefaultlogondomainname> <!--END AD Domain/SubDomain Information--> <!--Web Serivce URL--> <setwebserviceurl>http://yourmachine/_vti_bin/usergroup.asmx</setwebserviceur L> <!--Force Change Password on Next Login (True/False)--> <setforcechangepassword>false</setforcechangepassword> <!--Enable account after reset password(true/false)--> <setenableaccount>false</setenableaccount> <!--Unlock account after reset password(true/false)--> <setunlockaccount>true</setunlockaccount> <!--External URL--> <setexternalurl></setexternalurl> <!--User Name Helper Text--> Release 2.0 HW10 ASP.NET Sample Guide Page 9 of 10

<setusernamehelpertext>domain\username</setusernamehelpertext> <!--Exclude groups or Exclude users (True/False)--> <setexcludegroup>false</setexcludegroup> <!--List of Excluded Users seperated by semicolon--> <setexcludedlistofusers></setexcludedlistofusers> <!--BEGIN EMAIL PROPERTIES--> <!--SMTP Server Name--> <setsmtpserver>mail</setsmtpserver> <!--Valid Email Id--> <setemailfrom>administrator@yourdomain.com</setemailfrom> <!--Initial Email Subject--> <setinitialemailsubject>reset Password Confirmation</setInitialEmailSubject> <!--Initial Email Message--> <setinitialemailmessage>a request has been made to reset your password. If you have not made such a request, then please notify your system administrator.</setinitialemailmessage> <!--Final Email Subject--> <setfinalemailsubject>password Reset Complete</setFinalEmailSubject> <!--Final Email Message--> <setfinalemailmessage>your password has been successfully reset.</setfinalemailmessage> <!--END EMAIL PROPERTIES--> </dynamicvariables> Release 2.0 HW10 ASP.NET Sample Guide Page 10 of 10