我有一个Web应用程序,当用户登录时,他们到达mainjsp.jsp页面.
在此页面中,日期的文本框很少,并根据日期和从另一个下拉列表中选择,提交数据.此数据由a检索servlet并返回到mainjsp页面.
我担心的是安全问题.现在,当我复制粘贴mainjsp.jsp页面的URL并将其粘贴到任何浏览器中时,此页面将按原样显示.我不希望这种情况发生.我希望用户先登录,因此我希望我的Web应用程序安全.
我不知道该怎么做.你能告诉我怎样才能做到这一点?
另外请告诉我如何为Web应用程序中的任何页面实现此目的.如果用户尚未登录,则他们无法访问任何页面.
我有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) 我制作带有间谍软件功能的程序用于教育,我需要在程序中知道文件系统何时更改文件,以及正在更改的文件.
我怎么能用C++做到这一点?
如何将自定义portlet添加到" Portal控制面板" 部分,如下图所示:

我们如何使用自定义SQL通过自定义查找程序获取liferay实体?
以下是我写的sql查询default.xml(我已经将查询减少到最低限度,因此逻辑仍然很简单.因为它包含了一些函数和连接,所以我们无法使用DynamicQueryAPI):
SELECT
grp.*
FROM
Group_
WHERE
site = 1
AND active_ = 1
AND type_ <> 3
Run Code Online (Sandbox Code Playgroud)相关代码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 …
环境: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中的菜单访问时将其置于类别下.:-(
谢谢
尝试使用 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) 我需要自定义哪个portlet出现在"添加更多portlet菜单"中,如下图所示:

我需要根据登录的用户或站点(社区)限制此菜单中显示的portlet数量.因此,Site-owner或Site-admin将只能将这些portlet添加到omni-admin为其确定的页面中.
Liferay是否提供任何此类功能(通过配置或其他)或者我是否必须创建新的portlet和钩子来实现此目的?
环境: Liferay 6.1 CE GA2
任何想法都将非常感激.
谢谢
从这些隐式对象获取属性有什么区别:
renderRequest.getAttribute("myVar")
actionRequest.getAttribute("myVar")
request.getAttribute("myVar")
Run Code Online (Sandbox Code Playgroud)
为什么他们都被允许?
我的意思是,你通常存储属性,actionRequest或renderRequest对象,但你可以得到它的request隐含对象,为什么呢?
什么是正确的方法?
如何在视图时间内获取操作对象?
它是否违反了动作渲染renderParams传递机制?
如果NullPointerException在尝试在JSP中使用它们时抛出actionRequest/response作为隐式对象,为什么它们可用?
最后,什么时候在request(PortalUtil.getOriginalServletRequest)中存储属性是有用的?
我试图设置超时错误,只要网络服务响应将延迟下面的代码行 -
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
如果有人有解决方案,请回复.