jHipster - 即使从实体中删除权限,AngularJS 路由也会重定向到登录
Posted
技术标签:
【中文标题】jHipster - 即使从实体中删除权限,AngularJS 路由也会重定向到登录【英文标题】:jHipster - AngularJS route redirects to login even when authorities are removed from entity 【发布时间】:2015-12-16 13:57:02 【问题描述】:默认情况下,ROLE_USER 可以访问 jHipster 生成的实体。 我想创建一个实体,即使是未注册/未经授权的用户也可以访问。
我们称实体为:公司
我所做的是从 company.js 中每个州的权限数组中删除 ROLE_USER。我可以通过转到http://localhost:3000/#/companys(我可以看到它一秒钟)进入实体(公司)页面,但 Angular 会自动重定向到登录视图(http://localhost:3000/#/login)。
我相信这个路由的行为是在 jHipster 中定义的,但是我找不到它。有角度新手的任何提示吗? :)
更新 这是我删除权限的配置:
angular.module('testApp')
.config(function ($stateProvider)
$stateProvider
.state('company',
parent: 'entity',
url: '/companys',
data:
authorities: [], <---- here I removed 'ROLE_USER'
pageTitle: 'testApp.company.home.title'
,
views:
'content@':
templateUrl: 'scripts/app/entities/company/companys.html',
controller: 'CompanyController'
,
resolve:
translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader)
$translatePartialLoader.addPart('company');
$translatePartialLoader.addPart('companyType');
$translatePartialLoader.addPart('global');
return $translate.refresh();
]
)
【问题讨论】:
能贴出路由的代码吗? 这就是问题所在,我不能 100% 确定 jHipster 的架构,所以我无法发现路由配置的位置。但是,我将使用我指定权限的一段代码来更新问题。也许这会有所帮助。 问题已解决:它与 Spring Security 上下文有关,角度控制器正在调用需要身份验证的 REST API。我已禁用其余的身份验证,现在路由正常。谢谢 【参考方案1】:在com.company.config.SecurityConfiguration
尝试这种方式,因为这将允许包括未注册的所有人:
.disable()
.and()
.authorizeRequests()
.antMatchers("/company/**").permitAll() // <<<<< ADD THIS
【讨论】:
以上是关于jHipster - 即使从实体中删除权限,AngularJS 路由也会重定向到登录的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何 Maven 插件可用于从 Jhipster 中删除生成类的 getter/setter 并添加 lombok [关闭]