我正在构建我的第一个骨干应用程序,虽然我正在执行我的身份验证服务器端,但是有一些功能是未经身份验证的用户无法使用,但是因为它们位于我的资产路径中,而且是我的骨干网的一部分文件,一切都被加载。
有没有办法只加载用户实际可以使用的资源?
我正在使用带有cancan的Rails来管理这个服务器端。
答案 0 :(得分:1)
您需要将资产拆分为单独的组:任何人都可以使用的组,以及可以由经过身份验证的用户使用的组。仅发送允许用户使用的代码。
我最近写了一篇关于用asp.net mvc做这个的帖子。同样的想法适用于rails,尽管使用资产管道使实现有点不同:
http://lostechies.com/derickbailey/2012/01/26/modularity-and-security-in-composite-javascript-apps/
答案 1 :(得分:0)
最好的方法是使用名为requireLogin: true/false
的属性创建基本视图。
所有其他视图都应该继承此视图以及需要设置requireLogin:true
的身份验证的视图,对于所有其他视图,此属性应为false
。
在此之后,您应该处理此属性的身份验证基础。