我们一直在 Web 应用程序中使用服务器端模板 (.JSP),但现在我们在大型项目中使用 Angular。尽管出现了一些安全问题,但使用客户端模板开始变得有意义......
是否有可能阻止用户访问某个只有登录后才能查看的模板?看起来很容易,只需使用开发人员工具或 firebug 将其破解即可..
控制这个问题的一种方法是从服务器返回 View ,但是我不会失去 Angular 的所有好处吗?
最佳答案
根据框架,您可以从服务器限制此行为,并且不会丢失任何 Angular 的好处。
将模板包含到 Angular 中的方法是使用 ng-view
或 ng-include
。
ng-view
模板是在路由定义期间配置的。由于这些模板是从服务器加载的,因此您始终可以控制这些模板的加载。
ng-include
也可以采用服务器端模板,并且可以使用 AngularJS 强制执行相同的限制。
我们使用 ASP.Net MVC,因此在 ASP.Net 中,您可以将 AuthorizeAttribute
放在 Controller (服务器端)方法上,该方法将 View 返回到 Controller ,并返回到客户端。
另请记住,一旦加载模板,它将被 Angular 的模板缓存缓存,因此在刷新页面(浏览器导航\F5)之前不会获取它
关于java - 具有客户端模板的受限页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18313529/