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