Web应用程序包含用户的敏感数据.Web应用程序的运营商和托管提供商都不应该能够看到这些数据.因此,我想将这些数据存储在使用用户的入口密码加密的DB中.
dataInDB = encrypt (rawData, user password)
Run Code Online (Sandbox Code Playgroud)
但是,使用此策略无法实现密码恢复的常用用例:由于通常只有密码的哈希值由Web应用程序存储,因此应用程序无法将旧的,忘记的密码发送给用户.通过分配新的巧合密码,DB中的加密数据不再可读.
还有其他解决方案吗?
如果使用Mylyn任务焦点UI,则包浏览器会在活动任务的上下文中显示任何类的sourceFolder/package/fileName/classTypeName/methodName.是否可以删除classTypeName和methodName并仅显示其fileName之前的所有实体?
我想使用Twitter上的Bootstrap CSS库在现有的模态对话框上使用弹出效果.我将popover绑定到小图像图标.
$('#infoIcon').popover({
offset: 50,
placement: 'right'
});
Run Code Online (Sandbox Code Playgroud)
根据文档还添加了模态本身:
$('#modalContainer').modal({
keyboard : true
});
Run Code Online (Sandbox Code Playgroud)
但是我得到的效果是,弹出窗口是在模态容器下渲染而不是模态div(参见下面的截图).如何才能真正将弹片转移到模态div上?

在Mylyn中,如果激活任务并使用上下文UI功能,则包浏览器将显示属于此任务上下文的类以及您所在的方法.
是否可以自定义/配置Mylyn Context UI:
对我来说,如果过滤的包浏览器视图也包含方法,那就不方便了,如果包浏览器中可见的上下文仅显示包和类名就足够了.
谢谢.
我的基于SpringMVC的webapp通常使用2个上下文:MVC调度程序servlet的web应用程序上下文和父/根应用程序上下文.
<!-- the context for the dispatcher servlet -->
<servlet>
<servlet-name>webApp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
....
<!-- the context for the root/parent application context -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:root-context.xml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
在这些上下文中,我使用组件扫描来加载所有bean.我的包根据其用例命名(例如com.abc.registration,com.abc.login等),而不是基于技术层(例如com.abc.dao,com.abc.services等).
现在我的问题是:为了避免重复扫描某些类,为两个上下文过滤候选组件类是一个好的做法,例如,仅包括用于Web上下文扫描的MVC控制器并包括所有其他组件(服务,dao/repositorie)在根应用程序上下文中?
<!-- servlet-context.xml -->
<context:component-scan base-package="com.abc.myapp" use-default-filters="false">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- root-context.xml -->
<context:component-scan base-package="de.efinia.webapp">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
Run Code Online (Sandbox Code Playgroud)
或者,为组件扫描避免这种重复既不重要也不必要?
是否有可能让Hibernate(3.6)使用给定枚举的值填充数据库表?我有以下课程:
@Entity
public enum Role
{
ROLE_USER_FREE("ROLE_USER_FREE"),
ROLE_USER_STANDARD("ROLE_USER_STANDARD"),
ROLE_USER_PREMIUM("ROLE_USER_PREMIUM"),
ROLE_ADMIN("ROLE_ADMIN");
... constructor / setter / getter etc.
}
Run Code Online (Sandbox Code Playgroud)
我可以使用这个枚举而没有任何其他实体类使用的问题
@Enumerated(EnumType.STRING)
public Role getRole()
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何自动填充相应的表ROLE?所有底层逻辑和定义都存在于XML规范中.当然,我可以通过XSL从这个规范生成一个sql文件,并让Hibernate在启动时通过import.sql sematic导入它...但是有更优雅的方式吗?
该表应如下所示:
|RoleID|RoleName |
| 0 |ROLE_USER_FREE|
....
Run Code Online (Sandbox Code Playgroud) 为了对带有数值的 PostgreSQL 14 varchar 列进行排序,我使用了由
CREATE COLLATION de_pos (LOCALE = 'de-DE-u-kn-true', PROVIDER = 'icu');`
Run Code Online (Sandbox Code Playgroud)
使用这样的排序规则 ORDER BY 会产生正确的顺序,如下所示
1.2.10
1.2.20
1.2.100
如果没有该特殊排序规则,ORDER BY 结果为
1.2.10
1.2.100
1.2.20
我想知道该排序规则定义的每个部分到底意味着什么?
de-DE => 德语-德国的语言环境
u => UTF8 ????
知道=>????
真=> ????
我想使用混淆器(例如ProGuard)来保护我的Web应用程序中的IP.我知道混淆字节码的局限性,并且可以反编译它.但是我觉得好一点,如果我知道网络服务器上有一个混淆的war文件......在用ProGuard进行首次测试之后,我想知道他们的'入口点'方法是否对使用SpringMVC的web应用程序有用..和春天一点儿.如果我必须"保留"我的所有@Repository,@ Service,@ Controller和@Component注释类,并因此将它们排除在混淆之外,则不会满足此类工具的主要问题.我读过,我应该使用基于Java的Spring配置,而在Spring 3.1中,这方面有很多改进,但值得使用它吗?任何工具都可以真正混淆Spring Beans吗?
多米尼克
eclipse ×2
mylyn ×2
spring ×2
collation ×1
css ×1
encryption ×1
enums ×1
hibernate ×1
java ×1
javascript ×1
jquery ×1
obfuscation ×1
popover ×1
postgresql ×1
proguard ×1
security ×1
spring-mvc ×1
sql ×1