ExtJS和页面授权(服务器端)

occ*_*asl 5 extjs extjs4

我正在寻找有关如何使用ExtJS 4实现安全页面的信息.安全页面我的意思是用户将使用Siteminder(SSO)登录我们的网站,因此我们将拥有用户的身份.然后,我们将通过进行数据库/ LDAP调用来确定用户将拥有哪些角色,并仅渲染用户有权访问的那些视图/组件.

想到几个问题:

1.)当然我希望在服务器端渲染页面之前我们会进行授权检查,那么在解雇Ext.onReady()之前你怎么做呢?我需要让ExtJS等待服务器的响应吗?

2.)组织页面组件的最佳方法是什么,案例可能是某人可能看到特定组件而另一个人不能?

3.)如何将生成的页面(即用户可访问的部分)交付给客户端?

TIA!

occ*_*asl 5

如果您是在Java背景下工作并且习惯使用Spring,那么我在这里使用Spring Security编写了一种方法.这将允许您插入所需的任何身份验证机制.主要区别在于index.html,我没有使用引导应用程序,而是使用JSP,以便Spring Servlet Filter将触发进行身份验证.Ext JS应用程序将阻塞,直到用户通过身份验证并提供用户的角色/权限.


dbr*_*rin 2

  1. 通过将 JS 应用程序启动脚本放入 JSP/GSP 中,使用服务器端技术来预处理授权。其作用是强制服务器端组件首先启动,然后将 HTML/JS/CSS 呈现给客户端。对于完整的 RIA 应用程序,请使用 index.gsp(或 jsp),并且您的 URL 保持“domain/contextroot”。

  2. 您可以通过 ajax 请求服务器来询问内容的访问权限,或者您可以再次通过 JSP 技术设置 JS 变量,该技术在返回客户端响应的其余部分之前首先进行处理。

<g:javascript>

  //global env var definition 
   var env = "${System.getProperty(Environment.KEY)}";

< /g:javascript>
Run Code Online (Sandbox Code Playgroud)

这两者都不是 100% 安全,因为客户端代码可以更改。当数据提交处理时,真正的安全实施必须在服务器端进行。

'3. 简单的方法是根据上面的 2 隐藏/显示视图等。还有一些实验通过延迟(手动)初始化可能需要或不需要的控制器来模块化客户端 MVC 应用程序。

希望这可以帮助。

D B :)