单页面应用程序。模板管理的安全性

时间:2016-07-26 14:05:28

标签: java angularjs spring spring-security single-page-application

在我的应用程序中,我在单页(AngularJS)和服务器休息服务中有WEB-UI。 服务器使用spring boot实现,java注释配置,安全性开启。我可以使用安全限制角色管理服务器部分上的休息响应。

角度控制器模板的类似问题。 对于相同的请求服务器,如果角色不同,则应返回不同的角度模板

应该如何解决最后一个问题?

3 个答案:

答案 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或为您提供解决方案。