小编Pra*_*h K的帖子

如何保护我的java Web应用程序?

我有一个Web应用程序,当用户登录时,他们到达mainjsp.jsp页面.

在此页面中,日期的文本框很少,并根据日期和从另一个下拉列表中选择,提交数据.此数据由a检索servlet并返回到mainjsp页面.

我担心的是安全问题.现在,当我复制粘贴mainjsp.jsp页面的URL并将其粘贴到任何浏览器中时,此页面将按原样显示.我不希望这种情况发生.我希望用户先登录,因此我希望我的Web应用程序安全.

我不知道该怎么做.你能告诉我怎样才能做到这一点?

另外请告诉我如何为Web应用程序中的任何页面实现此目的.如果用户尚未登录,则他们无法访问任何页面.

java security jsp authorization servlets

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

如何使用<c:foreach>标记内的EL更新<c:set>标记中的值

我有list一些包含一些对象.对象有一个hours字段.

<c:foreach>我迭代列表并获取对象.

现在我想总结hours一个totalHours变量中所有迭代对象的字段.

我的代码:

<c:forEach var="attendance" items="${list }" varStatus="rowCounter1">
  <tr>
    <td><c:out value="${rowCounter1.count}"></c:out></td>
    <td><c:out value="${attendance.date }"></c:out></td>
    <td><c:out value="${attendance.inTime }"></c:out></td>
    <td><c:out value="${attendance.outTime }"></c:out></td>
    <td><c:out value="${attendance.interval }"></c:out></td>

    <c:set var="totalHours" value="${attendance.Hours += attendance.Hours }"
           target="${attendance}"</c:set>                                       
  </tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它给了我以下错误:

javax.el.ELException: Failed to parse the expression [${attendance.Hours += attendance.Hours }
Run Code Online (Sandbox Code Playgroud)

java jsp jstl el

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

如何知道使用winapi在Windows文件系统中更改的时间和文件

我制作带有间谍软件功能的程序用于教育,我需要在程序中知道文件系统何时更改文件,以及正在更改的文件.

我怎么能用C++做到这一点?

c++ hook winapi

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

如何在"控制面板"部分中添加自定义portlet

如何将自定义portlet添加到" Portal控制面板" 部分,如下图所示:

在此输入图像描述

control-panel liferay liferay-6

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

如何通过自定义插件portlet中的自定义查找程序获取liferay实体?

我们如何使用自定义SQL通过自定义查找程序获取liferay实体?

  1. 以下是我写的sql查询default.xml(我已经将查询减少到最低限度,因此逻辑仍然很简单.因为它包含了一些函数和连接,所以我们无法使用DynamicQueryAPI):

    SELECT
        grp.*
    FROM
        Group_
    WHERE
        site = 1
        AND active_ = 1
        AND type_ <> 3
    
    Run Code Online (Sandbox Code Playgroud)
  2. 相关代码MyCustomGroupFinderImpl.java:

    Session session = null;
    
    try {
        session = openSession();
    
        // fetches the query string from the default.xml
        String sql = CustomSQLUtil.get(FIND_ONLY_ACTIVE_SITES);
    
        SQLQuery sqlQuery = session.createSQLQuery(sql);
    
        sqlQuery.addEntity("Group_", GroupImpl.class);
        // sqlQuery.addEntity("Group_", PortalClassLoaderUtil.getClassLoader().loadClass("com.liferay.portal.model.impl.GroupImpl"));
    
        return (List<Group>) QueryUtil.list(sqlQuery, getDialect(), 0, QueryUtil.ALL_POS);
    }
    catch (Exception e) {
        throw new SystemException(e);
    }
    finally {
        closeSession(session);
    }
    
    Run Code Online (Sandbox Code Playgroud)

上面的代码将不起作用,因为GroupImpl该类存在,portal-impl.jar …

sql service builder liferay liferay-6

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

我们可以为门户网站定义自定义权限吗?

环境:Liferay 6.1 GA3 EE

我们可以为门户网站定义自定义权限吗?

我们可以通过创建带有<portlet-resource>标记的XML 并<action-key>在其中定义来在我们的插件portlet中创建自定义权限.

当我在控制面板中为角色定义权限时,我的portlet出现在该部分中Site Applications,现在我想要的是在portlet或钩子中创建自定义权限(而不是通过EXT)应该有一个单独的类别,My Custom并且应该有自定义喜欢的权限<action-key>ACCESS_EMAIL</action-key>,<action-key>ACCESS_TOOLSET<\action-key>等等.

简而言之,Portal当我定义自定义Portal(常规)角色的权限时,我的自定义类别应出现在如下图所示的部分中:

门户定义权限

我想使用此权限不是为了特定的portlet,而是需要在jsp-hooks或我的任何其他自定义portlet中使用它.就像我们ADD_SITE,ADD_USER在等权限Portal- > General,我想有这些权限为一般.

编辑
为了使portlet出现在我创建一个简单的自定义portlet的任何部分中,所以portlet出现在该Site Application部分中,如果我想,我也可以使它出现在这些Control Panel部分中.

但现在问题是我在这个portlet中没有任何视图或任何实现,因此我通过更新liferay-display.xml并将其置于隐藏状态来隐藏它category.hidden.这也隐藏了Define Permission下拉菜单.

如果我不使用lifeay-display.xmlliferay,则在Undefined+Adddockbar中的菜单访问时将其置于类别下.:-(

谢谢

permissions administration liferay liferay-6

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

登录模块控制标志在 JAAS 配置中不可用 - Scala Kafka

尝试使用 kerberos 身份验证连接到 Kafka 时遇到问题。使用 scala 和 myjaas.config看起来像这样。

 KafkaClient { 
        com.sun.security.auth.module.Krb5LoginModule required
        useKeyTab=true
        keyTab="/etc/security/keytabs/storm.service.keytab"
        storeKey=true
        useTicketCache=false
        serviceName="kafka"
        principal="storm@EXAMPLE.COM";
        debug=true
        client=true; };

Exception in thread "main" org.apache.kafka.common.KafkaException: Failed to construct kafka consumer  
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:799)  
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:615)  
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:596)  
    at org.apache.spark.sql.kafka010.SubscribeStrategy.createConsumer(ConsumerStrategy.scala:62)  
    at org.apache.spark.sql.kafka010.KafkaOffsetReader.createConsumer(KafkaOffsetReader.scala:314)  
    at org.apache.spark.sql.kafka010.KafkaOffsetReader.<init>(KafkaOffsetReader.scala:78)  
    at
 org.apache.spark.sql.kafka010.KafkaSourceProvider.createContinuousReader(KafkaSourceProvider.scala:130)
at org.apache.spark.sql.kafka010.KafkaSourceProvider.createContinuousReader(KafkaSourceProvider.scala:43)  
    at org.apache.spark.sql.streaming.DataStreamReader.load(DataStreamReader.scala:185)
    at com.gm.SparkDataIngest.Main$.main(Main.scala:119)
    at com.gm.SparkDataIngest.Main.main(Main.scala)  

Caused by: java.lang.IllegalArgumentException: Login module control flag is not available in the JAAS config  
    at org.apache.kafka.common.security.JaasConfig.loginModuleControlFlag(JaasConfig.java:85)
    at org.apache.kafka.common.security.JaasConfig.parseAppConfigurationEntry(JaasConfig.java:111)
    at org.apache.kafka.common.security.JaasConfig.<init>(JaasConfig.java:63)
    at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:148)
    at org.apache.kafka.common.security.JaasContext.loadClientContext(JaasContext.java:142)
    at …
Run Code Online (Sandbox Code Playgroud)

scala apache-kafka

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

如何自定义要在"添加更多portlet"菜单中显示的portlet

我需要自定义哪个portlet出现在"添加更多portlet菜单"中,如下图所示:

在此输入图像描述

我需要根据登录的用户或站点(社区)限制此菜单中显示的portlet数量.因此,Site-owner或Site-admin将只能将这些portlet添加到omni-admin为其确定的页面中.

Liferay是否提供任何此类功能(通过配置或其他)或者我是否必须创建新的portlet和钩子来实现此目的?

环境: Liferay 6.1 CE GA2

任何想法都将非常感激.

谢谢

liferay liferay-6

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

Liferay中不同的"请求"隐式对象

从这些隐式对象获取属性有什么区别:

renderRequest.getAttribute("myVar")
actionRequest.getAttribute("myVar")
request.getAttribute("myVar")
Run Code Online (Sandbox Code Playgroud)

为什么他们都被允许?
我的意思是,你通常存储属性,actionRequestrenderRequest对象,但你可以得到它的request隐含对象,为什么呢?
什么是正确的方法?

如何在视图时间内获取操作对象?
它是否违反了动作渲染renderParams传递机制?
如果NullPointerException在尝试在JSP中使用它们时抛出actionRequest/response作为隐式对象,为什么它们可用?

最后,什么时候在request(PortalUtil.getOriginalServletRequest)中存储属性是有用的?

java attributes servlets request liferay

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

使用oracle weblogic server 10.3(java)为webservices设置超时

我试图设置超时错误,只要网络服务响应将延迟下面的代码行 -

serviceStub._setProperty("weblogic.wsee.transport.connection.timeout", String.valueOf(timeoutSeconds));
BindingInfo bindingInfo = (BindingInfo)serviceStub._getProperty("weblogic.wsee.binding.BindingInfo");
bindingInfo.setTimeout(timasseoutSeconds);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

使用的服务器 - Oracle Weblogic服务器10.3

Web服务的类型 - JAX-RPC

如果有人有解决方案,请回复.

java weblogic-10.x

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