For more information about a complete list of fixed bugs, improvement, breaking changes, see: Update List
Authentication process modification: Visual Guard no longer locks
an account after the last grace logon (when the password has expired). Visual Guard
sets the MustChangePasswordAtNextLogon option to true for this account and the authentication
process fails. If you use the method VGSecurityManager.Authenticate or
VGSecurityManager.ValidateUser in your code, you have to check if this
modification is compatible with your code. For more information, see:
Authentication process modification
Improved design for Security Action Wizard:
Duplication of Permission Sets: the console allows now to duplicate a permission set.
New command line argument: '-R' is added to the console and disallows to switch the list of repositories declared in the console.
Improved detail of log events: The detail of events logged by the console is improved.
VGMembership.FindUserByLastName method is added: This method returns a collection of users where the last name matches the specified last name.
A new constructor of VGLogEntry is added to support unnamed properties in the message.
The installation process requires less privileges on Vista.
New examples based on WCF are added to Winform and ASP.Net sample. These examples shows how to secure WCF services with Visual Guard
Visual Guard can now be integrated in application hosting WCF Services. Visual Guard allows authentication based on Windows account or User/Password and authorization access to WCF Services.
The installation process is improved and complies with the standards recommended by Windows Vista.
Visual Guard provides a new language allowing to create
complex expression. This language supports the getting and setting properties, method
invocation, instantiation
of object, logical and arithmetic operators.
This new language can
be used to add a condition to a security action or calculate dynamically the value
of a property. For instance, it is possible to create an action disabling the 'Delete'
button when the sales order displayed in a form is an order for a client of a
specific country
and it is not shipped.
SalesOrder.Customer.Country == 'USA' and SalesOrder.ShippedDate != System.DateTime.MinValueIt is also possible to use this expression to calculate the value of a property. The following example allows to modify the filter of a DataView. If the filter already contains a filter expression, Visual Guard adds the clause "Country = 'USA'" at the end of the expression otherwise it sets the filter with this clause.
#CurrentValue.Length == 0?'Country = ''USA''':string.Format('({0}) and Country = ''USA''', #CurrentValue)
Visual Guard allows now to modify the property of the argument of the event raising a security action. For instance, it is possible to change the Cancel property of the Closing event when the action is executed on this event
It is now possible to create action on WPF Components
It is now possible to secure application loading dynamically assemblies (like application using the Microsoft CAB framework, Spring.Net...). You can indicate the list of the assemblies in the property 'Other Assemblies' of the application in the console.
It is now possible to filter the list of event by using a date range.
Visual Guard provides now the description of all predefined Visual Guard events. This list of description can be edited. It is possible to change standard description or add descriptions for custom events.
It is now possible to clean up the events of a repository older than a date(e.g. is it possible to delete all events older than 6 month).
2 new roles are added to the Visual Guard console: AudiAuditor and Restricted Auditor. an>These roles allows to access to a repository in read only mode. An auditor can consult the content of the repository, generate a report or consult the event log but it can't grant permission or administrate users of the repository. Restricted Auditor has the same rights as Auditor but can consult only a restricted list of application.
VisuVisual Guard allows to check Visual Guard permission for all ASP.Net component based on role (LoginView, SiteMap with Security Trimming, URL authorization mechanism). You just have to prefix the name of the permission by the '%' character in place of the name of role.
For example, the following Authorization section of web.config file indicates that only user with the permission "Allow to edit and delete employee" can access to the content of the folder containing the web.config
<an>authorization> <allow roles="%\Employees\Allow to edit and delete employee" /> <deny users="*" /> </authorization>
How to integrate Visual Guard in a WCF application