小编Pra*_*tel的帖子

Java:许可Web应用程序.登录前检查许可证

我想保护我的webapp许可证.当请求webapp的任何页面/资源时,我想首先检查许可证.如果未找到许可证,那么我想重定向到许可证上载页面.

我创建了一个过滤器,它映射到我可以检查许可证的所有请求,并在必要时重定向.问题是我的webapp具有登录验证的安全约束.有关详细信息,请参阅最后的web.xml.

由于安全性约束,所有请求首先被登录身份验证拦截,然后转发到我的过滤器.但是,我想在登录之前检查许可证.

这是我问过的一个相关问题.

Java:在进行登录身份验证之前拦截所有请求

优先考虑安全约束的过滤器似乎是不可能的.所以,我想问一下,有什么其他方法可以解决这个用例吗?

web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>Tango</display-name>

    <filter>
        <filter-name>SalsaValidationFilter</filter-name>
        <filter-class>net.semandex.salsa.validationFilters.SalsaValidationFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>SalsaValidationFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <!-- <servlet-name>SalsaValidationServlet</servlet-name> -->
        <dispatcher>REQUEST</dispatcher>
    </filter-mapping>

    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Login page images</web-resource-name>
            <url-pattern>/images/salsadb-logo2.png</url-pattern>
            <url-pattern>/images/salsa-icon.png</url-pattern>
            <url-pattern>/images/shadow_box.png</url-pattern>
            <url-pattern>/images/header.png</url-pattern>
            <url-pattern>/images/bg.png</url-pattern>
            <url-pattern>/css/splash.css</url-pattern>
            <url-pattern>/WEB-INF/licenseValidation.html</url-pattern>
            <url-pattern>/auth/licenseValidation.html</url-pattern>
        </web-resource-collection>
    </security-constraint>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>The entire webapp</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>SalsaUser</role-name>
        </auth-constraint>
    </security-constraint>

    <security-role>
        <role-name>SalsaUser</role-name>
    </security-role>

    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
          <form-login-page>/auth/login.jsp</form-login-page>
          <form-error-page>/auth/loginError.jsp</form-error-page>
        </form-login-config>

        <realm-name>mongo_login</realm-name>
    </login-config>
</web-app>
Run Code Online (Sandbox Code Playgroud)

java licensing web.xml servlets filter

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

MongoDB:为什么我们应该在使用光标后关闭它?

我看到人们在使用光标后关闭光标.我还在文档中读到服务器在10分钟不活动后关闭光标.

我在网上搜索但没找到合适的答案.我是数据库和MongoDB的新手.

为什么需要关闭光标?

database memory-leaks cursor mongodb mongodb-query

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

在for-in循环中访问上一个键/值

我是Java语言的新手,所以如果它很明显,请原谅。

可以说我有一个for-in循环,如下所示...

for( var key in myObj ){

   alert("key :" + myObj[key] ); // accessing current key-value pair

   //how do I access previous element here?
}
Run Code Online (Sandbox Code Playgroud)

是否可以在for-in循环中访问上一个或下一个键/值对?

javascript loops for-loop for-in-loop

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

extjs网格面板单元格中的多行文本

我有一个网格.我想在一些网格单元格中显示多行.以下是我生成的div,它有两行文本.但这并没有呈现第二行,即"测试新线".

<div class="x-grid3-cell-inner x-grid3-col-event x-unselectable" style="height:134px;line-height:134px;" unselectable="on">
  <div>
      <a href="some link">XYZ funding round: Series C</a> (Funding Round)
      <br>
      test new line
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个extjs 3.4网格.

知道为什么这不会渲染两行吗?

html html5 css3 extjs3

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

Javascript:同时分配函数和传递参数

我有html按钮"classA","classB"和"classC",我将onclick处理函数分配给我,如下所示.

var classA = document.getElementById('classA');
classA.onclick = filterByClassA;

var classB = document.getElementById('classB');
classB.onclick = filterByClassB;

var classC = document.getElementById('classC');
classC.onclick = filterByClassC;
Run Code Online (Sandbox Code Playgroud)

这三个函数做同样的事情,唯一不同的是类.那么,我可以为这些按钮分配一个功能,每个按钮调用不同的参数.像下面的东西

var classA = document.getElementById('classA');
classA.onclick = filterByClass('classA');

var classB = document.getElementById('classB');
classB.onclick = filterByClass('classB');

var classC = document.getElementById('classC');
classC.onclick = filterByClass('classC');
Run Code Online (Sandbox Code Playgroud)

我知道这是一个函数调用而不是赋值,这是错误的,但有没有办法可以实现这一点,即同时分配函数和传递参数但不调用它?

javascript

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

Tapestry循环遍历tml文件中的嵌套映射

我有以下地图

Map<String, Map<String, Long>>
Run Code Online (Sandbox Code Playgroud)

可以通过java文件中的以下方法访问此映射.

public List<Entry<String, List<Entry<String, Long>>>> getByEventTypeSorted() {
    List<Entry<String, List<Entry<String, Long>>>> ret = new ArrayList<Entry<String, List<Entry<String, Long>>>>();
    ret.addAll((Collection<? extends Entry<String, List<Entry<String, Long>>>>) byEventType.entrySet());
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

因此,我转换 Map<String, Map<String, Long>>List<Entry<String, List<Entry<String, Long>>>>并将其返回.

现在,在我的tml文件中,我试图像这样循环它.

<tr t:type="Loop" t:source="summarizer.byEventTypeSorted" t:value="entry">
    <td style="border: 1px solid #EEEEEE; padding: 3px">${entry.key}</td>
    <td style="border: 1px solid #EEEEEE; padding: 3px" t:type="Loop" t:source="${entry.value}" t:value="entry2"> 
        ${entry2.key}
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

对应的java文件具有以下属性.

@Property
private Entry<String,Long> entry;
@Property
private Entry<String,Long> entry2;
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码.生成以下异常.

Failure writing parameter 'value' of component ConceptSummaries:loop_1: …
Run Code Online (Sandbox Code Playgroud)

java loops tapestry list map

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

Javascript返回OR(||)操作的字符串

我无法理解这一点.

以下是表达式使用OR运算符

var subCond1 = adj.getData('relationEnabled') == 'true' || adj.getData('unhideIfHidden') || adj.getData('hlFixed') == 'true';
Run Code Online (Sandbox Code Playgroud)

我期待它,因为它是OR操作,它应该返回布尔值true/false,但结果我得到字符串'false'.

有人能解释一下吗?

javascript if-statement

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

MongoDb:从查询中的两个数组中查找公共元素

假设我们在数据库中有以下结构的记录。

{
  "_id": 1234,
  "tags" : [ "t1", "t2", "t3" ]
}
Run Code Online (Sandbox Code Playgroud)

现在,我想检查数据库是否包含带有数组中指定的任何标签的记录 tagsArray which is [ "t3", "t4", "t5" ]

我了解$in运算符,但我不仅想知道数据库中的任何记录是否具有tagsArray中指定的任何标记,还想知道数据库中记录的哪个标记与tagsArray中指定的任何标记相匹配。(即在上述记录中为t3)

也就是说,我想比较两个数组(一个记录,另一个由我给定),并找出公共元素。

我需要将此表达式与查询中的许多表达式一起使用,因此投影运算符(例如$,$ elematch等)不会有太大用处。(或者有没有一种方法可以使用它而不必遍历所有记录?)

我想我可以使用$where运算符,但我认为这不是最好的方法。如何解决这个问题?

mapreduce mongodb aggregation-framework

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