Connectivity Software User's Guide and Reference
Create(INameAndPasswordUserManager,String,String) Method
Example 



OpcLabs.BaseLib Assembly > OpcLabs.BaseLib.Security.User.Extensions Namespace > INameAndPasswordUserManagerExtension Class > Create Method : Create(INameAndPasswordUserManager,String,String) Method
The user manager.

The value of this parameter cannot be null (Nothing in Visual Basic).

The username for the new user.

The value of this parameter cannot be null (Nothing in Visual Basic).

The password for the new user.

The value of this parameter cannot be null (Nothing in Visual Basic).

Creates a new user with the specified username and password, and sets the user as enabled.
Syntax
'Declaration
 
<ExtensionAttribute()>
<JetBrains.Annotations.CanBeNullAttribute()>
Public Overloads Shared Function Create( _
   ByVal nameAndPasswordUserManager As INameAndPasswordUserManager, _
   ByVal userName As String, _
   ByVal password As String _
) As String
'Usage
 
Dim nameAndPasswordUserManager As INameAndPasswordUserManager
Dim userName As String
Dim password As String
Dim value As String
 
value = INameAndPasswordUserManagerExtension.Create(nameAndPasswordUserManager, userName, password)
[Extension()]
[JetBrains.Annotations.CanBeNull()]
public static string Create( 
   INameAndPasswordUserManager nameAndPasswordUserManager,
   string userName,
   string password
)
[Extension()]
[JetBrains.Annotations.CanBeNull()]
public:
static String^ Create( 
   INameAndPasswordUserManager^ nameAndPasswordUserManager,
   String^ userName,
   String^ password
) 

Parameters

nameAndPasswordUserManager
The user manager.

The value of this parameter cannot be null (Nothing in Visual Basic).

userName
The username for the new user.

The value of this parameter cannot be null (Nothing in Visual Basic).

password
The password for the new user.

The value of this parameter cannot be null (Nothing in Visual Basic).

Return Value

The security ID of the created user, or null if the operation failed.

This method can return null (Nothing in Visual Basic).

Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

An invoked method is not supported at all, or is not supported with the parameters used to create the object.
Remarks

This is an extension method (info: C#, VB.NET). In languages that have support for extensions methods (such as C# and VB.NET), you can use the extension method as if it were a regular method on the object that is its first parameter. In other languages (such as with Python.NET), you will call the extension as a static method, and pass it the object on which it acts as its first parameter.

Example
// This example shows how to allow only authenticated access to the OPC server, with username & password. It also shows how
// to create a user and assign it an initial password.
// You can use any OPC UA client, including our Connectivity Explorer and OpcCmd utility, to connect to the server. 
//
// Find all latest examples here: https://www.doc-that.com/files/onlinedocs/OPCLabs-ConnectivityStudio/Latest/examples.html .
// OPC client, server and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-ConnectivityStudio-CSharp .
// Missing some example? Ask us for it on our Online Forums, https://forum.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.

using OpcLabs.EasyOpc.UA;
using OpcLabs.EasyOpc.UA.NodeSpace;
using System;
using OpcLabs.BaseLib.Security.User;
using OpcLabs.BaseLib.Security.User.Extensions;

namespace UAServerDocExamples.AccessControl
{
    internal partial class UserIdentityTokens
    {
        public static void UserNameOnly()
        {
            // Instantiate the server object.
            // By default, the server will run on endpoint URL "opc.tcp://localhost:48040/".
            var server = new EasyUAServer();

            // By default, the server allows all user identity token types. In this example, we will allow only username &
            // password user identity tokens.
            server.UserIdentityTokenTypes = UserIdentityTokenTypes.UserName;

            // Create a user with username "user1" and password "pass". Without specifying security role IDs, the user
            // session will be assigned implicit Anonymous, AuthenticatedUser and possibly TrustedApplication roles.
            server.UserManagers.NameAndPassword.Create("user1", "pass");

            // Define a data variable providing random integers.
            var random = new Random();
            server.Add(new UADataVariable("MyDataVariable").ReadValueFunction(() => random.Next()));

            // Start the server.
            Console.WriteLine("The server is starting...");
            server.Start();

            Console.WriteLine("The server is started.");
            Console.WriteLine();

            // Let the user decide when to stop.
            Console.WriteLine("Press Enter to stop the server...");
            Console.ReadLine();

            // Stop the server.
            Console.WriteLine("The server is stopping...");
            server.Stop();

            Console.WriteLine("The server is stopped.");
        }
    }
}
Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also