GetUserSecurityLevel Event
Sets the security level for an incoming packet.
Syntax
public event OnGetUserSecurityLevelHandler OnGetUserSecurityLevel; public delegate void OnGetUserSecurityLevelHandler(object sender, SnmpagentGetUserSecurityLevelEventArgs e); public class SnmpagentGetUserSecurityLevelEventArgs : EventArgs { public string User { get; } public string EngineId { get; }
public byte[] EngineIdB { get; } public int SecurityLevel { get; set; } }
Public Event OnGetUserSecurityLevel As OnGetUserSecurityLevelHandler Public Delegate Sub OnGetUserSecurityLevelHandler(sender As Object, e As SnmpagentGetUserSecurityLevelEventArgs) Public Class SnmpagentGetUserSecurityLevelEventArgs Inherits EventArgs Public ReadOnly Property User As String Public ReadOnly Property EngineId As String
Public ReadOnly Property EngineIdB As Byte() Public Property SecurityLevel As Integer End Class
Remarks
The GetUserSecurityLevel event is fired after the first inspection of each SNMPv3 request. The SecurityLevel parameter determines the level of security for the message.
On entry, the SecurityLevel parameter contains the default security level for User if the user is located in the internal cache, or if the User is not found in the cache, the SecurityLevel will be -1.
The value of SecurityLevel upon exiting the event, determines how the message will be processed:
-1 | The message will be ignored and a BadPacket event will be fired. |
0 | No security. The message will be processed without any authentication and/or encryption. |
1 | Authentication only. The message will be checked for a valid signature and the GetUserPassword event will be fired to verify the authentication password. |
2 | Authentication and Privacy. The message will be checked for a valid signature and the GetUserPassword event will be fired twice: first to verify the authentication password, and then to verify the privacy password. |