我正在使用Primefaces dataExporter从dataTable生成pdf.生成的pdf具有相同宽度的所有列.我正在寻找一种方法来改变postProcessor/preProcessor函数上表的样式.在生成pdf之前,我可以使用setHtmlStyleClass方法更改内容吗?我试图使用它,但没有成功.我想我没有理解它.
public void preProcessPDF(Object document) throws IOException, BadElementException, DocumentException {
Document pdf = (Document) document;
pdf.setHtmlStyleClass("reportClass");
...
}
Run Code Online (Sandbox Code Playgroud)
如果我可以使用该方法,我可以在哪里定义reportClass?它是浏览器页面的css类吗?
我们正在尝试使用Spring的@preAuthorize标记来提高方法级别的安全性.一切都编译好并且运行良好,但限制不会发生.这是一种仅限管理员的方法,但即使是非管理员也可以访问.以下是我们在上下文中配置它的方式:
<http use-expressions="true" create-session="never" entry-point-ref="oauthAuthenticationEntryPoint" xmlns="http://www.springframework.org/schema/security" authentication-manager-ref="authManager">
<intercept-url pattern="/mocks/some-service" access="hasRole('ROLE_OTHER')" />
<form-login authentication-failure-url="/login.jsp" default-target-url="/login.jsp" login-page="/login.jsp"></form-login>
<custom-filter ref="resourceServerFilter" after="EXCEPTION_TRANSLATION_FILTER" />
</http>
<security:global-method-security pre-post-annotations="enabled" />
Run Code Online (Sandbox Code Playgroud)
以下是方法本身:
@PreAuthorize("(hasRole('ROLE_ADMIN'))")
public Some doIt(Some Input) {
do something;
return some;
}
Run Code Online (Sandbox Code Playgroud)
但每个人都可以拥有一些东西.我错过了什么?任何帮助将不胜感激.
我正在尝试使用ADFS建立一个依赖方(SP).ADFS识别并响应没有签名的请求.但是ADFS无法验证签名的AuthRequest.我将证书导入依赖方的"签名验证证书"部分,但此证书似乎不用于依赖方请求的签名验证.
相反,它似乎使用'令牌解密'证书.我不明白这个证书的目的.有人可以解释一下这两个证书之间的区别,以及如何用另一个自签名证书(DER或pem格式)替换'token-decrypting'证书?谢谢
Fyi:将样本AuthnRequest发送到ADFS
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://adfs-sj1.sjlab.local/adfs/ls/" ID="_422d0bb72b1120db737695464793dedf4ea8ddd2" IssueInstant="2012-07-30T21:52:47.501Z" Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">spid</saml2:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#_422d0bb72b1120db737695464793dedf4ea8ddd2">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>S5b7PCF8WscoOX++EcpyjQNW4q0=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>g1PXYERi48Q/vGXNBPwZlteyihQmt3eo9+MIQlBdC8MqTsm8GdvE1Nq4osszEyprAK5Q6Uv5QV/UgctUWGV2hUxLc5bpXVwpaYaoywH0XPXArROR1EyGVz2g5YAjgGxpU0YbxJIk+2A1DblE0alYSK/88oHHcmpwp6dmgwmvfXcRA83DnVCeIZoKSPuNTqSLb6UKk+QxUABieuAb1ecsQmJsEjUXcrPq+RPL1+goNhC4/vbPatuK90ZyZe5CljwAtWXmqoBzWexxgWdzs4E9zIc/aQi/HFioGz0EnPiipgBjHRlV+Gv0iFV1dS++a24+F7H2NG6aZSGipcyj2kJMDg==</ds:SignatureValue>
</ds:Signature>
</saml2p:AuthnRequest>
Run Code Online (Sandbox Code Playgroud) 我有一个带有single_selection数据表和命令按钮的页面.commandbutton调用一个bean方法来验证是否进行了选择.如果不是,它应该显示警告用户的消息.如果进行了选择,则导航到另一个页面.
问题是没有选择时不会显示任何消息.如果做出选择,它可以正常工作.
这是页面的代码:
<h:body>
<h:form id="form">
<p:dataTable id="TablaSociedades" var="soc" value="#{Sesion.tablaSociedades}" emptyMessage="No hay Registros que Mostrar" selection="#{Sesion.sociedadUsuario}">
<f:facet name="header">Sociedades asociadas al Usuario</f:facet>
<p:column selectionMode="single" style="width:18px" />
<p:column>
<f:facet name="header">
<h:outputText value="Sociedad" />
</f:facet>
<h:outputText value="#{soc.nombreSociedad}" />
</p:column>
<f:facet name="footer">
<p:commandButton action="#{Sesion.mostrarMenu()}" value="Continuar" process=":form" />
</f:facet>
</p:dataTable>
<br/>
<div>
<p:messages id="messages2" showDetail="true" autoUpdate="false" closable="true" />
</div>
</h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)
以及bean方法的代码:
public boolean mostrarMenu()
{
boolean resp = true;
if (sociedadUsuario.getNombreSociedad().equals("")) //no selection
{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage (FacesMessage.SEVERITY_WARN,"Seleccione una Sociedad", "No puede Continuar"));
resp …Run Code Online (Sandbox Code Playgroud) 我想知道在自定义portlet的jsp中显示DLFileEntry映像的所有可能方法.更具体地说,我目前使用以下方式,但我有一些DLFileEntry对象的问题,'bigimageid'的值为零
DLFileEntry image = DLFileEntryLocalServiceUtil.getFileEntry(long_id);
String imageUrl = themeDisplay.getPathImage() + "/image_gallery?img_id=" + image.getLargeImageId() + "&t=" + WebServerServletTokenUtil.getToken(image.getLargeImageId());
Run Code Online (Sandbox Code Playgroud)
哪个是在不使用大图像ID的情况下获取图像网址的替代方法?
一旦向MVCPortlet类发出请求,我想在MAXIMIZED状态下显示View.这是我在JSP页面中的代码
<portlet:actionURL name="addBook" var="addBookURL" />
<aui:form action="<%= addBookURL.toString() %>" method="post">
<aui:input type="text" name="name"></aui:input>
<aui:input type="password" name="pwd"></aui:input>
<aui:button type="submit"></aui:button>
</aui:form>
Run Code Online (Sandbox Code Playgroud)
这是我的MVCPortlet类:
if(true)
{
response.setPortletMode(PortletMode.VIEW);
response.setWindowState(WindowState.MAXIMIZED);
}
else
{
response.setPortletMode(PortletMode.VIEW);
response.setWindowState(WindowState.MAXIMIZED);
}
Run Code Online (Sandbox Code Playgroud)
这就是结果(请看下面的图片)

我的问题是,我希望一旦调用Action类,所以Portlet将以MAXIMIZED状态显示.
但是Portlet仍处于NORMAL状态,请让我知道为什么?在MVCPortlet类的结果之后,如何在MAXIMIZED状态下进行Portlet View.
我在Tomcat7上使用Spring 3.2和Spring-security 3.1以及jsf + primefaces和hibernate4
我想添加一个并发控件来限制用户的会话,如果他/她尝试第二次登录则显示和错误消息.问题是.我可以在chrome和firefox中登录.它不会阻止多次登录.您可以看到我的安全配置.并且在首次登录和第二次登录时生成的日志出现了什么问题?
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<security:http pattern="/resources/**" security="none" />
<security:http pattern="/authentication/**" security="none" />
<security:http auto-config='true'
access-decision-manager-ref="accessDecisionManager">
<security:intercept-url pattern="/pages/**"
access="PRV_LOGIN" />
<security:access-denied-handler
error-page="/error/error.jsf" />
<security:logout logout-success-url="/" logout-url="/logout"
delete-cookies="JSESSIONID" />
<security:form-login login-page='/login'
login-processing-url="/logincheck" default-target-url="/home"
always-use-default-target="true" />
<security:session-management
invalid-session-url="/login">
<security:concurrency-control
error-if-maximum-exceeded="true" max-sessions="1" expired-url="/login"
session-registry-ref="sessionRegistry" />
</security:session-management>
</security:http>
<security:authentication-manager>
<security:authentication-provider
user-service-ref="userSessionDetailsUtil">
<security:password-encoder ref="passwordEncoderUtil">
<security:salt-source user-property="username" />
</security:password-encoder>
</security:authentication-provider>
</security:authentication-manager>
<!-- Security(Authentication, Encoding) implementations -->
<bean id="userSessionDetailsUtil" class="com.i2i.copycat.service.util.UserSessionDetailsUtil">
</bean>
<bean id="passwordEncoderUtil" class="com.i2i.copycat.service.util.PasswordEncoderUtil">
<property name="passwordEncoder" ref="springShaPasswordEncoder"></property>
</bean> …Run Code Online (Sandbox Code Playgroud) 我想将四位小数值舍入到小数点后一位.这就是我使用的原因f:convertNumber:
<h:outputText value="${current.dayAverage.pressureRelative}" >
<f:convertNumber maxFractionDigits="1"/>
</h:outputText>
Run Code Online (Sandbox Code Playgroud)
舍入是正确的,但f:convertNumber增加了一千个逗号分隔符.我想删除这个分隔符,但我不知道如何.我正在使用Apache MyFaces 2.1实现.在f:convertNumber的API中,它没有任何属性来指定千位分隔符.我想这可以在locale属性中定义?
我想限制访问我的文件上传功能.我在安全文件中写了拦截url,但是Spring Security没有映射这个URL.我使用3.0.3版本的spring security.这些是我的xml文件:
security.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<security:global-method-security secured-annotations="enabled" />
<http auto-config="true" use-expressions="true" access-denied-page="/forbidden.jsp">
<intercept-url pattern="/files/**"/>
<intercept-url pattern="/resources/**" filters="none"/>
<form-login login-page="/login.htm"
authentication-failure-url = "/login.htm?login_error=1"
default-target-url="/forbidden.htm"/>
<logout logout-success-url="/login.htm" />
<anonymous username="guest" granted-authority="ROLE_ANONYMOUS" />
<remember-me />
</http>
<beans:bean id="accountService" name="accountService" class="com.demo.service.impl.AccountServiceImpl" />
<beans:bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<beans:property name="userDetailsService" ref="accountService"/>
</beans:bean>
<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="accountService" />
</authentication-manager>
</beans:beans>
Run Code Online (Sandbox Code Playgroud)
dispatcher-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop …Run Code Online (Sandbox Code Playgroud) 我想用来生成pdf dataexporter,使用方法预处理器来插入一些内容.通过给出类型字母大小页面可以很好地同化文本格式.然后进行分页以将图表放在新页面上,正确的问题是生成具有其他大小的第二页,并且还找到一种方法来更改导出表的文本的字体大小.
<h:commandLink>
<p:graphicImage value="/images/pdf.png"/>
<p:dataExporter type="pdf" target="dataTableAddDetalles" fileName="pdf" preProcessor="#{serviciosMB.preProcessPDF}"/>
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
支持豆
public void preProcessPDF(Object document) throws Exception {
try {
Document pdf = (Document) document;
pdf.open();
pdf.setPageSize(PageSize.LETTER);
ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
String logo = servletContext.getRealPath("") + File.separator + "images" + File.separator + "header.gif";
// pdf.add(Image.getInstance(logo));
pdf.add(new Paragraph("EMNI", FontFactory.getFont(FontFactory.HELVETICA, 22, Font.BOLD, new Color(0, 0, 0))));
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
pdf.add(new Phrase("Fecha: " + formato.format(new Date())));
pdf.newPage();
} catch (Exception e) {
//JsfUtil.addErrorMessage(e, e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用迁移指南从 Spring Security 3.2.5 升级到 4.0.4 。
我的UserDetailsService看起来像这样:
package com.me.security;
import org.springframework.security.core.userdetails.UserDetailsService;
public class Users implements UserDetailsService {
public Users() {
System.err.println("USERS CONSTRUCTOR");
}
@Override
public UserDetail loadUserByUsername(String name) {
System.err.println("LOAD BY USER NAME " + name);
throw new UsernameNotFoundException("User not found.");
}
}
Run Code Online (Sandbox Code Playgroud)
我的WEB-INF/applicationContext.xml有这个:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-4.0.xsd">
<security:http disable-url-rewriting="true" use-expressions="false">
<security:intercept-url pattern="/auth/**" access="ROLE_ANONYMOUS"/>
<security:intercept-url pattern="/dashboard/**" access="ROLE_ADMIN,ROLE_USER"/>
<!-- ...more intercept-urls... -->
<security:access-denied-handler error-page="/pages/general/403.xhtml"/>
<security:form-login login-page="/auth/login.html"
username-parameter="j_username"
password-parameter="j_password"
login-processing-url="/j_spring_security_check" …Run Code Online (Sandbox Code Playgroud) primefaces ×3
java ×2
jsf-2 ×2
liferay ×2
liferay-6 ×2
adfs ×1
itext ×1
java-ee ×1
messages ×1
saml ×1
security ×1
spring ×1
spring-aop ×1
spring-mvc ×1