Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports Microsoft.VisualBasic
- Imports AspNetSecurity = System.Web.Security
- ' DotNetNuke User Api Functions
- ' Created by XONV
- Public Class DnnUserApi
- ''' <summary>
- ''' Create DotNetNuke User
- ''' </summary>
- ''' <param name="portalId"></param>
- ''' <param name="userName"></param>
- ''' <param name="pwd"></param>
- ''' <param name="email"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function CreateUser(portalId As Integer, userName As String, pwd As String, email As String) As DotNetNuke.Security.Membership.UserCreateStatus
- Dim objInfo As New UserInfo
- With objInfo
- .PortalID = portalId
- .Username = userName
- .DisplayName = userName
- .Membership.Password = pwd
- .Email = email
- End With
- Return UserController.CreateUser(objInfo)
- End Function
- ''' <summary>
- ''' Get UserInfo
- ''' </summary>
- ''' <param name="portalId"></param>
- ''' <param name="userName"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function GetUserInfo(portalId As Integer, userName As String) As UserInfo
- Dim objUserInfo As UserInfo
- objUserInfo = UserController.GetUserByName(portalId, userName)
- Return objUserInfo
- End Function
- ''' <summary>
- ''' Change DotNetNuke User Password
- ''' </summary>
- ''' <param name="userName"></param>
- ''' <param name="oldPassword"></param>
- ''' <param name="newPassword"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function ChangePassword(userName As String, oldPassword As String, newPassword As String) As Boolean
- Dim result As Boolean
- Try
- Dim user = GetMembershipUser(userName)
- 'Force unlock user
- If (user.IsLockedOut) Then
- user.UnlockUser()
- End If
- result = user.ChangePassword(oldPassword, newPassword)
- Catch ex As Exception
- result = False
- End Try
- Return result
- End Function
- ''' <summary>
- ''' Reset DotNetNuke User Password
- ''' </summary>
- ''' <param name="userName"></param>
- ''' <param name="newPwd"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function ResetPassword(userName As String, newPwd As String) As Boolean
- Dim result As Boolean
- Try
- Dim user = GetMembershipUser(userName)
- If (user.IsLockedOut) Then
- user.UnlockUser()
- End If
- Dim oldPassword = user.GetPassword()
- result = user.ChangePassword(oldPassword, newPwd)
- Catch ex As Exception
- result = False
- End Try
- Return result
- End Function
- #Region "Private Functions"
- 'Please reference : Library\Providers\MembershipProviders\AspNetMembershipProvider\AspNetMembershipProvider.vb
- ''' <summary>
- '''
- ''' </summary>
- ''' <param name="userName"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Private Function GetMembershipUser(userName As String) As MembershipUser
- Dim cacheKey As String = String.Format("MembershipUser_{0}", userName.ToString())
- Return CBO.GetCachedObject(Of MembershipUser)(New CacheItemArgs(cacheKey, _
- DataCache.UserCacheTimeOut, _
- DataCache.UserCachePriority, _
- userName), _
- AddressOf GetMembershipUserCallBack)
- End Function
- Private Shared Function GetMembershipUserCallBack(cacheItemArgs As CacheItemArgs) As Object
- Dim userName = DirectCast(cacheItemArgs.ParamList(0), String)
- Return Membership.GetUser(userName)
- End Function
- #End Region
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement