在我的应用程序中,我在单页(AngularJS)和服务器休息服务中有WEB-UI。 服务器使用spring boot实现,java注释配置,安全性开启。我可以使用安全限制角色管理服务器部分上的休息响应。
角度控制器模板的类似问题。 对于相同的请求服务器,如果角色不同,则应返回不同的角度模板。
应该如何解决最后一个问题?
答案 0 :(得分:2)
也许你可以在控制器中创建动作:
@RequestMapping(value="template.html")
public String home(HttpServletRequest request){
if (request.isUserInRole("ROLE_ADMIN")) {
return "/template1.html";
} else {
return "/template2.html";
}
}
也许您还需要配置ViewResolver
(这取决于您的配置)。
答案 1 :(得分:1)
每当使用templateUrl时,您都可以通过实现函数来切换模板。例如:
而不是:
...
templateUrl: "template.html"
...
试试这个:
...
templateUrl: function() {
if( ... ) return "template1.html"
else return "template2.html";
}
这适用于指令,路线等。
PS:绝不应该是隐藏模板的安全方式。
答案 2 :(得分:0)
我有一个建筑师的想法。
要解决此问题,应使用 UrlBasedViewResolver 来创建\ configure special CustomSecurityBasedInternalResourceViewResolver 。
如何实施自定义视图解析程序,请检查answer here或为您提供解决方案。