当前位置: 首页 > 面试题库 >

如何在JSF中使用Spring Security Facelets标记库

邬承悦
2023-03-14
问题内容

我想使用Spring Security Facelets标记库来保护我的JSF 2页面中的UI组件

我对Spring Security版本3.0.5具有以下依赖性:

<dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>${spring-security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${spring-security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${spring-security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>${spring-security.version}</version>
        </dependency>

我配置了applicationSecurity.xml以进行Spring安全性登录,并且它可以与UserDetailsS​​ervice一起正常工作,并且在尝试添加安全性定义时:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:pretty="http://ocpsoft.com/prettyfaces" 
    xmlns:sec="http://www.springframework.org/security/tags">

当运行该应用程序时,出现以下错误:

Warning: This page calls for XML namespace http://www.springframework.org/security/tags declared with prefix sec but no taglibrary exists for that namespace. 

问题答案:

你将需要首先添加springsecurity.taglib.xml,如下所述:

并且你应该在类路径中具有org.springframework.faces jar才能使用它。

然后使用安全标签,如下所示:

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:sec="http://www.springframework.org/security/tags">


 类似资料:
  • 问题内容: 如何在Struts 1.2中使用标签。 在属性中,必须使用什么值?Bean名称是您的财产名称吗? 问题答案: Javadoc适用于: 指定访问其属性以检索由 属性 指定的值(如果已指定)的bean的属性名称。如果未指定property,则将呈现此bean本身的值。 本质上,如果您有一个JavaBean(带有getter和setter), 通过设置,您要告诉Struts 首先* 从范围首

  • 问题内容: 我想在我的JSF Web项目上实现Ajax。我搜索了一下,发现ICEFaces正在通过JSF支持Ajax。但是我不知道它的可用性。 任何人都有Ajax / JSF的经验,请指导我搬到哪里。 [编辑] 如果有人有类似经验,请也分享可用性。好与坏.. 问题答案: JSF 2.0使用f:ajax标记内置了对Ajax的支持。ICEFaces,OpenFaces和RichFaces的所有三个都还

  • 我可以在Struts2中的s:property标记中使用s:text标记吗。问题是,我的操作类中有一个 映射以的形式具有键/值,实际上映射中存在的值是文件中存在的键。请参阅下面的 这是我的application.properties文件 现在,我想在我的jsp中迭代这个映射,并希望通过在application.properties文件中将映射的值作为键传递,从属性文件中获得这些值,并将它们显示为标

  • 大家好,如果有人能帮忙的话——我正在尝试使用Cucumber标签运行一个特定的场景——这是我用来运行用Webdriver-Cucumber框架构建的测试的表达式- npx wdio运行wdio。conf.js——cucumber。tagExpression='@Tag 当我使用上面的命令时,什么也不会发生——我已经在功能级别定义了标记-“@tag”——所以我希望功能文件中的所有场景都会得到执行,但

  • 在我的代码中,first href="http://example1.com"不工作。如何编辑代码? 谢谢

  • 问题内容: 假设我是关于DTO的新手。我不知道将DTO与JSF,Spring和Hibernate一起使用是否正确。 让我解释一下,到目前为止,我已经在业务层和表示层中使用了直接从数据库创建的实体bean。现在,我决定尝试使用DTO方法,但是我不明白它们如何提供帮助。 例如,如果我有两个类User和Message,而一个用户有更多关联的消息;如何从数据库填充DTO?还是在业务层手动填充DTO?有人可