小编Dan*_*ani的帖子

使用Primefaces dataExporter更改生成pdf的样式

我正在使用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类吗?

primefaces

2
推荐指数
1
解决办法
9488
查看次数

preAuthorize注释似乎不起作用

我们正在尝试使用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)

但每个人都可以拥有一些东西.我错过了什么?任何帮助将不胜感激.

spring-security spring-aop

2
推荐指数
2
解决办法
3908
查看次数

Adfs:令牌解密证书与依赖方签名验证证书之间的区别

我正在尝试使用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)

security adfs saml claims-based-identity single-sign-on

2
推荐指数
1
解决办法
2万
查看次数

primefaces消息未显示

我有一个带有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)

messages primefaces

2
推荐指数
2
解决办法
1万
查看次数

Liferay 6.2如何显示存储在文档和媒体中的图像

我想知道在自定义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的情况下获取图像网址的替代方法?

liferay liferay-6

2
推荐指数
1
解决办法
3501
查看次数

Liferay 6:MAXIMIZED状态下的Portlet视图

一旦向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.

liferay liferay-6

1
推荐指数
1
解决办法
4630
查看次数

Spring并发会话控制不起作用,用户可以多次登录

我在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)

java authentication spring-security session-management

1
推荐指数
1
解决办法
7209
查看次数

f:convertNumber删除逗号为千位分隔符

我想将四位小数值舍入到小数点后一位.这就是我使用的原因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:convertNumberAPI中,它没有任何属性来指定千位分隔符.我想这可以在locale属性中定义?

number-formatting jsf-2

1
推荐指数
3
解决办法
3万
查看次数

Spring安全映射

我想限制访问我的文件上传功能.我在安全文件中写了拦截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)

java spring spring-mvc spring-security java-ee

1
推荐指数
1
解决办法
1627
查看次数

在Primefaces中更改默认格式dataExporter

我想用来生成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)

itext primefaces jsf-2

1
推荐指数
1
解决办法
2万
查看次数

未调用 Spring Security UserDetailsS​​ervice

我正在使用迁移指南从 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)

spring-security

1
推荐指数
1
解决办法
1797
查看次数