Visual Guard Class Library Documentation

How Visual Guard secures an application

How Visual Guard secures an application

When a user is authenticated, Visual Guard will load permissions for this user from the repository. These permissions will execute security actions on the application.

In a WinForm application, Visual Guard will intercepts the instantiation of System.Windows.Forms.Form classes and will automatically execute security action on these objects. For more information about Page and MasterPage security, see How Visual Guard secure a Windows Form

In WebForm application, Visual Guard will intercept the instantiation of System.Web.UI.Page and System.Web.UI.MasterPage classes and will automatically execute security action on these objects. For more information about Page and MasterPage security, see How Visual Guard secure Page or MasterPage.

For other type of classes (WebService, WebControl, UserControl, non graphic class...), you must implicitly call Visual Guard. In each securable class, you must do the following:

When you call the method SetSecurity, Visual Guard gets all security actions for the specified object. If some security actions must be executed when the security is loaded, Visual Guard executes them. If some actions must be executed on specific events of the object, Visual Guard will bind these events and the action will be executed when the events are raised.

If you do not want to use the automatic interception for a class, see How to disable the automatic interception of a class

Security action condition

Visual Guard enables you to add a condition to a security action. This condition is based on the value of a boolean property of the target object. Just before executing the security action, Visual Guard evaluates the condition and executes the action only when the condition is equal to true.

How Visual Guard secure a Windows Form

When you create a new form in your application, Visual Guard intercepts this instantiation, executes the constructor of the object and loads the security for this object and returns the instantiated object.

If security actions are defined to be executed when the security is loaded (this is a default event for an action), Visual Guard will execute these actions. If actions are defined to be executed on events of the object (or on events of a nested object), Visual Guard will handles these events and these actions will be executed when the event will be raised.

How Visual Guard secure a WinForm Diagram 

How Visual Guard secure a Page or a MasterPage in a WebForm application

When a page is requested, Visual Guard intercepts its instantiation and binds the init event of the object. When the init event is raised, Visual Guard loads the security f the object.

If security actions are defined to be executed when the security is loaded (this is a default event for an action), Visual Guard will execute these actions. If actions are defined to be executed on events of the object (or on events of a nested object), Visual Guard will handles these events and these actions will be executed when the event will be raised.

How Visual Guard secures webform diagram 

How to disable the automatic interception of a class

If you do not want to want to set the security of a form automatically, you can implement the interface Novalys.VisualGuard.Security.VGISecurable. Visual Guard will not intercept the instantiation of this form and it will not automatically set the security for the instances of this class and all instances of class derived from this class. To set the security of these objects, you must call implicitly the method VGSecurityManager.SetSecurity.

If you want to disable automatic interception for all classes in your application, you can set the 'VSecurityManager.AllowAutomaticInterception' to false. In Winform application, this property must be changed before loading the security of a user.

See Also

Debugging Visual Guard Security Actions

How to apply security in your application