Hello!
Using Jmix 2.6.1, I created DB role via Liquibase changeLogs that inherits a child role which already grants flowui.loginToUi.
However login fails with AccessDeniedException: resource: ui.loginToUi.
It only works after I also add the legacy permission ui.loginToUi .
Could you please verify this ?
Hi Aycha,
ui.loginToUi is not a legacy policy, it is required by Jmix 2.x UI module (io.jmix.flowui).
Actually any new project includes a minimal role granting this permission, for example:
package com.company.sample.security;
import io.jmix.security.model.SecurityScope;
import io.jmix.security.role.annotation.ResourceRole;
import io.jmix.security.role.annotation.SpecificPolicy;
import io.jmix.securityflowui.role.UiMinimalPolicies;
import io.jmix.securityflowui.role.annotation.ViewPolicy;
@ResourceRole(name = "UI: minimal access", code = UiMinimalRole.CODE, scope = SecurityScope.UI)
public interface UiMinimalRole extends UiMinimalPolicies {
String CODE = "ui-minimal";
@ViewPolicy(viewIds = "MainView")
void main();
@ViewPolicy(viewIds = "LoginView")
@SpecificPolicy(resources = "ui.loginToUi")
void login();
}
You should assign this role or a similar one to your users.
Regards,
Konstantin