我遇到了确保路线问题的问题'仪表板'自定义用户角色。我正在使用FOSUserBundle,我知道由于应付用户默认情况下会给予ROLE_USER - 即使此角色确实出现在用户表中。
在用户登录时(通过Steam发生)我添加了一个新的自定义
public abstract class User implements Serializable {
protected String userName;
protected String emailAddress;
protected Date dob;
protected Password password;
// Initialisation Constructor
public User(String userName, String emailAddress,
int d, int m, int y,
String cPW, String uEPW, int noTries){
this.userName = username;
this.emailAddress = emailAddress;
this.dob = new Date(d, m, y);
}
this.password = new Password(cPW, uEPW, noTries);
// Assume that User also has ==>
// 1. a toString() method,
// 2. an equals() method, and
// 3. appropriate set() and get() methods
}
我的问题如此流动 - 用户点击网站 - 用户登录 - 重定向到信息中心路线 - 拒绝访问错误。
我还禁用了安全行并转出了我可以从令牌用户对象中提取的ROLES以确认ROLE存在并匹配规则
这是我的安全ACL
$user->setRoles(['ROLE_LOGGED_STEAM_USER']);
最初,我不知道所有角色都必须以ROLE开头_ *
以下是附加角色here
的用户条目的屏幕截图我希望它的简单性只是被忽略了所以任何帮助都会很棒!
感谢前进任何帮助/建议!
答案 0 :(得分:0)
不确定,但我认为你有拼写错误,请尝试将角色转换为角色,并且" s"
- { path: ^/dashboard, roles: ROLE_LOGGED_STEAM_USER }
答案 1 :(得分:0)
我认为您必须在" role_hierarchy "上注册您的自定义角色所以代码将是:
role_hierarchy:
ROLE_ADMIN: [ROLE_USER, ROLE_LOGGED_STEAM_USER]
ROLE_SUPER_ADMIN: ROLE_ADMIN
希望有所帮助。