【问题原因】通过服务配置文件修改服务实例名称(即“服务组件/服务接口”)后,服务实例会被系统视为全新的服务,默认为“任何用户都可以访问”。
【解决方法】管理员可以在服务管理器中对新的服务实例重新授权并手动删除 shiro.ini(WEB-INF 下)中原服务的授权信息,或直接手动修改 shiro.ini,将原服务实例名更新为新的服务实例名。修改 shiro.ini 的方法是,找到[instances]节点,更新服务实例名称并与授权角色对应,格式如:
<服务实例名称>= PRIVATE,role1,role2
如果需要重新命名服务实例且保留授权信息,建议通过服务管理器(WebManager)来修改,这样系统会自动更新服务实例名匹配原有的授权角色。