2017-05-27 13 views
0

私は、Spring Securityをui:composition内に統合しようとしています。 私はこの便利なリンクから助けを得ています:https://raichand-java.blogspot.in/2016/12/springsecurity4primefaces5springdatajpa.htmlui:composition内でSpring Securityを統合すると例外が発生する

それは同様に機能します。

しかし、コードをui:composition内に統合した後、私は例外があります。 私はファイルspringsecurity.taglib.xmlを追加したことを知っ:

<context-param> 
 
     <param-name>javax.faces.FACELETS_LIBRARIES</param-name> 
 
     <param-value>/WEB-INF/springsecurity.taglib.xml</param-value> 
 
    </context-param>

<?xml version="1.0"?> 
 
<!DOCTYPE facelet-taglib PUBLIC 
 
    "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" 
 
    "http://java.sun.com/dtd/facelet-taglib_1_0.dtd"> 
 
<facelet-taglib> 
 
    <namespace>http://www.springframework.org/security/tags</namespace> 
 
    <tag> 
 
     <tag-name>authorize</tag-name> 
 
     <handler-class>org.springframework.faces.security.FaceletsAuthorizeTagHandler</handler-class> 
 
    </tag> 
 
    <function> 
 
     <function-name>areAllGranted</function-name> 
 
     <function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class> 
 
     <function-signature>boolean areAllGranted(java.lang.String)</function-signature> 
 
    </function> 
 
    <function> 
 
     <function-name>areAnyGranted</function-name> 
 
     <function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class> 
 
     <function-signature>boolean areAnyGranted(java.lang.String)</function-signature> 
 
    </function> 
 
    <function> 
 
     <function-name>areNotGranted</function-name> 
 
     <function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class> 
 
     <function-signature>boolean areNotGranted(java.lang.String)</function-signature> 
 
    </function> 
 
    <function> 
 
     <function-name>isAllowed</function-name> 
 
     <function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class> 
 
     <function-signature>boolean isAllowed(java.lang.String, java.lang.String)</function-signature> 
 
    </function> 
 
</facelet-taglib>

は、私は、ファイルのweb.xmlに追加しましたこのページを実行した後

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
 
<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:ui="http://java.sun.com/jsf/facelets" 
 
     xmlns:c="http://java.sun.com/jsp/jstl/core" 
 
     xmlns:p="http://primefaces.org/ui"> 
 
\t <h:head> 
 
     <title>Login</title> 
 
     <h:outputScript library="primefaces" name="jquery/jquery.js" 
 
\t \t target="head" /> 
 
\t <h:outputScript library="primefaces" name="jquery/jquery-plugins.js" 
 
\t \t target="head" /> 
 
\t </h:head> 
 
\t <h:body> 
 
\t 
 
\t \t <ui:composition template="/templates/homeTemplate.xhtml" 
 
\t \t \t \t \t \t xmlns="http://www.w3.org/1999/xhtml" 
 
\t \t \t \t \t  xmlns:ui="http://java.sun.com/jsf/facelets" 
 
\t \t \t \t \t  xmlns:h="http://java.sun.com/jsf/html" 
 
\t \t \t \t \t  xmlns:sec="http://www.springframework.org/security/tags" 
 
\t \t \t \t \t  xmlns:p="http://primefaces.org/ui"> 
 
\t \t 
 
\t \t 
 
\t \t <ui:define name="content"> \t 
 
    \t <center><h2>Login</h2></center> 
 
\t \t <c:if test="${'fail' eq param.auth}"> 
 
    \t \t <div style="color:red"> 
 
     \t \t Login Failed!!!<br/> 
 
      \t Reason : Bad Credentials!Please Try Again. 
 
    \t \t </div> 
 
\t \t </c:if> 
 
     \t <center> 
 
     \t \t <h:form prependId="false" id="form"> 
 
     \t \t <p:panelGrid columns="2" style="border-bottom-width: 0px;"> 
 
       <h:outputText value="UserName:"/> 
 
       <p:inputText value="#{loginController.username}" id="username" required="true" requiredMessage="UserName is required"/> 
 
       <h:outputText value="Password:"/> 
 
       <p:password value="#{loginController.password}" id="password" required="true" requiredMessage="Password is required"/> 
 
      </p:panelGrid> 
 
     \t  <p:spacer height="20px" width="10px"> </p:spacer> 
 
     \t  <p:row> 
 
     \t  \t <p:selectBooleanCheckbox label="Remember Me" id="remember-me" >Remember Me </p:selectBooleanCheckbox> 
 
     \t   <h:outputText value=" " /> 
 
     \t  </p:row> 
 
     \t  <br/> 
 
     \t  <p:row> 
 
     \t  \t <p:commandButton action="#{loginController.login()}" value="Login" ajax="false"/> 
 
     \t  \t </p:row> 
 
     \t </h:form> 
 
\t \t </center> 
 
\t \t </ui:define> 
 
\t </ui:composition> 
 
\t 
 
\t </h:body> 
 
</html>

は、私は、この例外ました:

SEVERE [javax.enterprise.resource.webcontainer.jsf.config](ServerServiceスレッドプールを - - 175)配備中の重大なエラー::com.sun.faces.config.ConfigurationException:構成が失敗しました! org.springframework.faces.security.FaceletsAuthorizeTagHandler com.sun.faces.config.ConfigManagerの サービスモジュールローダーの[module "deployment.mission-man-ear.ear.mission-man-web.war:main"]から。初期化(ConfigManager.java:453) com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:227) at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187) at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:198) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100) at org.wildfly.extension.undertow。 deployment.UndertowDeploymentService $ 1.run(UndertowDeploymentService.java:82) at java.util.concurrent.E xecutors $ RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:748) at org.jboss.threads.JBossThread.run(JBossThread.java: 320)

グーグルの後、私はこのスレッドjava.lang.ClassNotFoundException: org.springframework.faces.security.FaceletsAuthorizeTagHandlerを見つけましたが、私を助けませんでした! spring-security-taglibsのバージョンの問題があると思います。依存バージョンです。あなたはこれを解決するための任意のアイデアをお持ちですか?どんな助けもありがとうございます。どうもありがとう。

答えて

0

私は新しい変更を加える必要はありません。 Run As> Maven Clean、Run As> Maven Install、Maven> Update Projectを試してください。 それだけです。

HTH

関連する問題