Bạn nào sử dụng nó cho portal online hoặc cần bảo mật API thì bổ sung thêm đoạn code check bảo mật vào nhé để tránh việc truy cập trái phép can thiệp vào người dùng không mong muốn.
Tạo người dùng mới trên DotNetNuke Portal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
''' <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
|
1
2
3
4
5
6
7
8
9
10
11
12
|
''' <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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
''' <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
#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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
''' <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
|
No comments:
Post a Comment