【发布时间】:2013-07-17 14:55:33
【问题描述】:
在我们的项目中,我们有用于公司内部网络的 JSF2 页面。但是我们将把这些页面打开到互联网上。因此,每个人都可以使用页面。但是如果用户来自互联网,一些字段将不会被渲染。
我知道可以为每个组件编写一个渲染属性,例如“userIsInRole”。但是额外的“渲染”控件似乎不是一种高效且优雅的方法。所以我打算通过使用自定义属性来标记将要在线渲染的组件,如下所示:
<h:inputText context="internet" />
...
在inputText或组件代码的渲染器中:
if(user is from Internet && context = "internet") {
return true; // or render... whatever
}
如果组件未标记为 Internet,则意味着它只能从公司内部使用(呈现)。
是否可以根据给定的属性使用JSF2组件来实现授权?有没有更好的选择?还是应该为互联网用户设计单独的页面?
我们在项目中使用:PrimeFaces + Spring。
谢谢
【问题讨论】:
标签: jsf-2 primefaces authorization