In recent Webtop versions EMC introduced a new secutiry feature that forbid components to be invoked through an URL:
The following configuration has been added to enable or disable components that are invoked through a URL.
<url-addressable-components>
<enabled>false</enabled>
</url-addressable-components>
Set <enabled> to true to invoke all the components through the URL.
Specific components can also be configuredforURLaddressability. This can be done by adding the <url-addressable-enabled/> tag in the corresponding component configuration file.
For example, add the following configuration file, <Web-app-root>\wdk\config\errormessage_component.xml, where <url-addressable-enabled/> enables URL addressability.
Note: EMC recommends that administrators add <url-addressable-enabled/> in the specific URL addressable-component instead of choosing to set <enabled> to true.
So when I’m getting a “401: The URL is unauthorized in WDK” when trying to use a virtual link I check app.xml:
<url-addressable-components>
<enabled>false</enabled>
</url-addressable-components>
Ok, default configuration is set, so components without <url-addressable-enabled/> cannot be invoked through an URL. Let’s check virtuallinkconnect component default configuration:
<!–XSRF component whitelisting change–>
<url-addressable-enabled/>
Ok, so if the component is whitelisted by default, why it is being blocked? Well, what does any component do when you invoke it through an URL? Yes, it redirects to the login component, which ,of course, it’s not whitelisted by default.
So by adding <url-addressable-enabled/> to the login definition, the virtuallinkconnect component will work with the component blocking enabled.