Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. Imports Microsoft.VisualBasic
  2. Imports AspNetSecurity = System.Web.Security
  3. ' DotNetNuke User Api Functions
  4. ' Created by XONV
  5.  
  6. Public Class DnnUserApi
  7. ''' <summary>
  8. ''' Create DotNetNuke User
  9. ''' </summary>
  10. ''' <param name="portalId"></param>
  11. ''' <param name="userName"></param>
  12. ''' <param name="pwd"></param>
  13. ''' <param name="email"></param>
  14. ''' <returns></returns>
  15. ''' <remarks></remarks>
  16. Public Function CreateUser(portalId As Integer, userName As String, pwd As String, email As String) As DotNetNuke.Security.Membership.UserCreateStatus
  17. Dim objInfo As New UserInfo
  18. With objInfo
  19. .PortalID = portalId
  20. .Username = userName
  21. .DisplayName = userName
  22. .Membership.Password = pwd
  23. .Email = email
  24. End With
  25. Return UserController.CreateUser(objInfo)
  26. End Function
  27. ''' <summary>
  28. ''' Get UserInfo
  29. ''' </summary>
  30. ''' <param name="portalId"></param>
  31. ''' <param name="userName"></param>
  32. ''' <returns></returns>
  33. ''' <remarks></remarks>
  34. Public Function GetUserInfo(portalId As Integer, userName As String) As UserInfo
  35. Dim objUserInfo As UserInfo
  36. objUserInfo = UserController.GetUserByName(portalId, userName)
  37. Return objUserInfo
  38. End Function
  39. ''' <summary>
  40. ''' Change DotNetNuke User Password
  41. ''' </summary>
  42. ''' <param name="userName"></param>
  43. ''' <param name="oldPassword"></param>
  44. ''' <param name="newPassword"></param>
  45. ''' <returns></returns>
  46. ''' <remarks></remarks>
  47. Public Function ChangePassword(userName As String, oldPassword As String, newPassword As String) As Boolean
  48. Dim result As Boolean
  49. Try
  50. Dim user = GetMembershipUser(userName)
  51. 'Force unlock user
  52. If (user.IsLockedOut) Then
  53. user.UnlockUser()
  54. End If
  55. result = user.ChangePassword(oldPassword, newPassword)
  56. Catch ex As Exception
  57. result = False
  58. End Try
  59. Return result
  60. End Function
  61. ''' <summary>
  62. ''' Reset DotNetNuke User Password
  63. ''' </summary>
  64. ''' <param name="userName"></param>
  65. ''' <param name="newPwd"></param>
  66. ''' <returns></returns>
  67. ''' <remarks></remarks>
  68. Public Function ResetPassword(userName As String, newPwd As String) As Boolean
  69. Dim result As Boolean
  70. Try
  71. Dim user = GetMembershipUser(userName)
  72. If (user.IsLockedOut) Then
  73. user.UnlockUser()
  74. End If
  75.  
  76. Dim oldPassword = user.GetPassword()
  77. result = user.ChangePassword(oldPassword, newPwd)
  78. Catch ex As Exception
  79. result = False
  80. End Try
  81. Return result
  82. End Function
  83. #Region "Private Functions"
  84. 'Please reference : Library\Providers\MembershipProviders\AspNetMembershipProvider\AspNetMembershipProvider.vb
  85. ''' <summary>
  86. '''
  87. ''' </summary>
  88. ''' <param name="userName"></param>
  89. ''' <returns></returns>
  90. ''' <remarks></remarks>
  91. Private Function GetMembershipUser(userName As String) As MembershipUser
  92. Dim cacheKey As String = String.Format("MembershipUser_{0}", userName.ToString())
  93. Return CBO.GetCachedObject(Of MembershipUser)(New CacheItemArgs(cacheKey, _
  94. DataCache.UserCacheTimeOut, _
  95. DataCache.UserCachePriority, _
  96. userName), _
  97. AddressOf GetMembershipUserCallBack)
  98. End Function
  99. Private Shared Function GetMembershipUserCallBack(cacheItemArgs As CacheItemArgs) As Object
  100. Dim userName = DirectCast(cacheItemArgs.ParamList(0), String)
  101. Return Membership.GetUser(userName)
  102. End Function
  103.  
  104. #End Region
  105. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement