Angularjs 按用户角色的AngularFire路由身份验证

Angularjs 按用户角色的AngularFire路由身份验证,angularjs,authentication,firebase,angularfire,Angularjs,Authentication,Firebase,Angularfire,我目前正在使用Firebase的电子邮件和密码用户注册/登录系统,以及来自AngularFire种子回购的。这使我可以向路由添加身份验证,如下所示: .config(function($routeProvider) { $routeProvider .whenAuthenticated('/profile', { title: 'Profile', templateUrl: '/app/components/profil

我目前正在使用Firebase的电子邮件和密码用户注册/登录系统,以及来自AngularFire种子回购的。这使我可以向路由添加身份验证,如下所示:

.config(function($routeProvider) {

    $routeProvider

        .whenAuthenticated('/profile', {
            title: 'Profile',
            templateUrl: '/app/components/profile/profile.html',
            controller: 'ProfileController'
        })

})
我现在想做的不仅是需要身份验证才能访问特定的路由,而且还需要管理员访问,例如访问
'/admin'
路由,因此经过身份验证的普通用户根本看不到该页面。有人能解释一下实现这一目标的最佳方式吗

我想在Firebase中添加一个用户配置文件部分,然后在访问路由时查找该部分,但也许有更好的方法。我还可以设置我的Firebase安全规则,这样只有我才能写入数据,但这不会阻止人们首先访问和读取页面

我在谷歌上搜索了好几次,没有找到任何与AngularFire用户角色身份验证相关的内容


感谢您的帮助。

您基本上已经询问了如何构建基于角色的安全系统。你可以想象,这是一个广泛的话题。这里的步骤是:1)将用户角色设置为只读。2) 对访问角色的数据使用安全规则来控制访问(例如,
“.write”:“root.child('roles').child(auth.uid).val()>2”
),3)更改whenAuthenticated服务以读取角色数据并进行比较,而不是只检查auth!==通过使用$requireAuth()返回null谢谢Kato,我会尝试一下。我通常使用Express来处理这个问题,但我很想知道它在Firebase中是如何工作的。你解决了这个问题吗@Daniel7912我想对firebase和AngularJS做同样的事情。您基本上问过如何构建基于角色的安全系统。你可以想象,这是一个广泛的话题。这里的步骤是:1)将用户角色设置为只读。2) 对访问角色的数据使用安全规则来控制访问(例如,
“.write”:“root.child('roles').child(auth.uid).val()>2”
),3)更改whenAuthenticated服务以读取角色数据并进行比较,而不是只检查auth!==通过使用$requireAuth()返回null谢谢Kato,我会尝试一下。我通常使用Express来处理这个问题,但我很想知道它在Firebase中是如何工作的。你解决了这个问题吗@Daniel7912我想对firebase和AngularJS做同样的事情。您基本上问过如何构建基于角色的安全系统。你可以想象,这是一个广泛的话题。这里的步骤是:1)将用户角色设置为只读。2) 对访问角色的数据使用安全规则来控制访问(例如,
“.write”:“root.child('roles').child(auth.uid).val()>2”
),3)更改whenAuthenticated服务以读取角色数据并进行比较,而不是只检查auth!==通过使用$requireAuth()返回null谢谢Kato,我会尝试一下。我通常使用Express来处理这个问题,但我很想知道它在Firebase中是如何工作的。你解决了这个问题吗@Daniel7912我想对firebase和angularjs做同样的事情