Jakarta ee ApacheShiro块p:imageCropper primefaces
我正在使用primefacess-5.1和ApacheShiro 1.2.2以及pax shiro 0.1.0覆盖。一切都站在Glassfish 4.0上。我的问题是,当我在web.xml中注释下面的所有片段时Jakarta ee ApacheShiro块p:imageCropper primefaces,jakarta-ee,primefaces,jsf-2.2,shiro,glassfish-4,Jakarta Ee,Primefaces,Jsf 2.2,Shiro,Glassfish 4,我正在使用primefacess-5.1和ApacheShiro 1.2.2以及pax shiro 0.1.0覆盖。一切都站在Glassfish 4.0上。我的问题是,当我在web.xml中注释下面的所有片段时 <filter> <filter-name>ShiroFilter</filter-name> <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filte
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ShiroFilter</filter-name>
<url-pattern> /*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
下面是我的JSF表单
<h:body>
<h:form enctype="multipart/form-data">
<p:growl id="msgs" showDetail="true"/>
<h:panelGrid columns="2">
<p:imageCropper id="ic" value="#{cropperView.croppedImage}" image="http://rg-rgb-szkola:8080/dpsmvn-web/admin/images/tmp/portret_wup.jpg" initialCoords="225,75,300,125"/>
<p:graphicImage alt="po wykadrowaniu" id="cropped" rendered="#{cropperView.photocomlete==1?true:false}" library="images" name="twarze/pracownicy/#{cropperView.newImageName}.jpg" />
</h:panelGrid>
<p:commandButton value="Crop" action="#{cropperView.crop}" update="msgs ic cropped" icon="ui-icon-scissors" ajax="false"/>
<p:commandButton value="Zapisz" action="#{cropperView.saveImage()}" ajax="false" />
</h:form>
</h:body>
下面是可变ImageCropper ImageCropper的代码,它位于带有@SessionScoped的CDIBean中。我还可以说错误的原因是这个变量的空值。我想shiro不认识这个变量的mime类型。我可以这么说,因为在开始使用这个组件时,我得到了警告:JSF1091
private CroppedImage croppedImage;
public CroppedImage getCroppedImage() {
return croppedImage;
}
public void setCroppedImage(CroppedImage croppedImage) {
this.croppedImage = croppedImage;
}
我的问题是如何将ApacheShiro与p:imageCropper primefaces组件同步?解决方案被证明非常简单。我只是加了一行 /admin/croprofile.xhtml=authc到my shiro.ini 这是具有p:imageCropper组件和授权权限的站点 为了确保一切顺利,我还添加了一行 /资源/**=anon但我认为不需要 所以我可以说我解决了那个问题!!!: 下面是我所有的shiro.ini文件
[main]
authc.successUrl = /witamy.xhtml
authc.loginUrl = /login.xhtml
roles.unauthorizedUrl = /accessdenied.xhtml
ssl.enabled = false
[urls]
/javax.faces.resource/** = anon
/resources/** = anon
/ = anon
/images/tla/sloneczniki.jpg = anon
/images/tla/liscie-tlo.jpg = anon
/admin/cropprofile.xhtml = authc
/index.xhtml = anon
/login.xhtml = authc
/logout.xhtml = logout
/witamy.xhtml = authc
/pielegniarka/** = authc, roles[adminpielegniarka]
/admin/** = authc, roles[root]
/** = authc
private CroppedImage croppedImage;
public CroppedImage getCroppedImage() {
return croppedImage;
}
public void setCroppedImage(CroppedImage croppedImage) {
this.croppedImage = croppedImage;
}
[main]
authc.successUrl = /witamy.xhtml
authc.loginUrl = /login.xhtml
roles.unauthorizedUrl = /accessdenied.xhtml
ssl.enabled = false
[urls]
/javax.faces.resource/** = anon
/resources/** = anon
/ = anon
/images/tla/sloneczniki.jpg = anon
/images/tla/liscie-tlo.jpg = anon
/admin/cropprofile.xhtml = authc
/index.xhtml = anon
/login.xhtml = authc
/logout.xhtml = logout
/witamy.xhtml = authc
/pielegniarka/** = authc, roles[adminpielegniarka]
/admin/** = authc, roles[root]
/** = authc