我的应用程序中有两种用户-客户和卖家。我在JSF中使用PhaseListener来防止用户在未登录的情况下访问页面,但是在他们登录后我不知道如何防止用户更改地址栏中的URL并访问那些他也不被允许。例如,阻止客户访问卖家页面。有人知道如何防止此类非法访问吗? 最佳答案 为用户分配一个组/角色,并在你的阶段监听器中检查它(从技术上讲,这可能更好地是一个简单的servlet过滤器,毕竟,阶段监听器是在幕后,即为了简单的目的非常笨拙并且不不要在非JSFURL上运行)。例如,允许以/seller/开头的URL只能由具有SELLER角色的用户访
我在JBoss5.0.1GA上设置了一个JSF应用程序,以在表格中显示用户列表,并允许通过每个用户旁边的按钮删除单个用户。当deleteUser被调用时,该调用被传递给一个UserDAOBean,后者获得一个从JBoss注入(inject)的EntityManager。我正在使用代码publicvoiddelete(Eentity){em.remove(em.merge(entity));}删除用户(代码是来自JPA教程的c&p)。仅仅调用em.remove(entity)没有任何效果,仍然会导致相同的异常。当到达这一行时,我得到一个TransactionRequiredExcepti
我想在我的JSF(MyFaces1.2)应用程序中有一个通用菜单。然后我在session范围内的门户将如下所示:classPortal{privateArrayListlist=newArrayList();publicPortal(){list.add(newIAction(){publicaction(){log.info("calledactionhere");}});}publicArrayListgetActionList(){returnlist;}}当我运行这段代码时,它会正常显示。但是当您尝试通过单击“clickme”命令链接来执行操作时-将发生以下异常:Classor
我想知道,如果使用SpringSecurity,我是否可以验证用户session,只允许打开一个浏览器选项卡。可能吗?我还想知道我是否可以做到这一点,当用户关闭选项卡并在他的session结束前再次打开它时,从直接应用程序SessionFilter中再次打开它,而无需转到登录屏幕。我正在使用JSF1.2、RichFaces3.3.3、Hibernate和其他...详情:我知道springsecurity,我正在研究它。现在感谢并原谅我糟糕的英语。再见! 最佳答案 没有。SpringSecurity无法判断请求是来自原始选项卡还是来自
我正在构建一个允许用户输入数据库连接参数的表单。输入参数后用户可以测试(btnTester)是否可以使用其参数建立连接。在所有情况下,都会为用户生成一条消息。这里是来自支持bean代码的连接尝试失败的示例:(...)addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,"Connectionfailed.",t.getLocalizedMessage()));(...)这是表单代码。我希望消息出现在p:message中。不幸的是,什么也没有发生。按钮后不显示任何消息(连接成功与否):\即使将全局属性设置为false或tr
PrimeFacesUploadedFile仅公开InputStream,不公开文件本身。处理流后如何删除它? 最佳答案 为此,PrimeFaces在幕后使用ApacheCommonsFileUpload。它会将文件创建为临时文件,因此如果没有打开的File或InputStream对它的引用,该文件将已经自动删除当Java垃圾收集器运行时。因此,如果您可以绝对确保在处理后关闭InputStream(在finallyblock中!),那么您就无需担心清理问题。 关于java-处理后如何删除
我正在开发一个基于J2EEEJBJSF的项目,数据库是MYsql,该项目上周运行良好。但是今天,当我运行它时无法部署它。这里有一些异常(exception):InitialdeployingECOMtoC:\Users\John624\Documents\NetBeansProjects\PromoCoupon\ECOM\dist\gfdeploy\ECOMCompletedinitialdistributionofECOMInitializing...invalidheaderfieldname:ExceptionDescriptionC:\Users\John624\Documen
我需要从JSPJSF页面生成PDF。我在网上搜索过,但没有找到任何关于如何执行此操作的示例。我需要转换整个页面,或者可能只转换该页面上的图表。附言我也在使用IceFaces。 最佳答案 最简单的方法可能是capturetheHTML使用Filter并使用合适的API将其转换为PDF,然后从Filter返回application/pdf数据。IceFaces部分提交支持可能用于捕获组件树输出的子集,但您可能必须研究IceFacesHTTP请求的细节才能弄清楚如何利用它。 关于Java:如何
我找到了一个想法here,将文件放在/WEB-INF下是一种阻止直接访问的方法:WithFacelets,onecanalsoputXHTMLfilesunderthe/WEB-INF,iftheyaretemplatesorincludedfiles(samerestrictionsaswithJSPessentially).该页面还提供了一个基于JavaEE安全性的解决方案,它只允许特定用户组的成员直接进行XHTML访问。RestrictXHTMLDocumentsXHTML*.xhtmlOnlylet'developer'saccessXHTMLpagesdeveloper您会推
我有一个Bean,有一个@ManagedBean注释,定义如下:@ManagedBean@SessionScopedpublicclassBeanimplementsSerializable{/****/privatestaticfinallongserialVersionUID=1L;}Now,Ihaveanotherbeandefinedlikethis:publicclassFooBeanextendsBean{//properties,methodshere...}当我尝试在我的JSF页面中引用FooBean时,出现以下错误:目标无法到达,标识符“fooBean”解析为null