我是OAuth2的新手,虽然研究仍然无法掌握,但我一直在努力解决这个问题.
为OAuth2创建JS客户端的难点在于您无法存储客户端密钥,因为它可以在浏览器中广泛访问.即在这个问题中,评价最高的评论说:
"我认为tokenSecret和consumerSekret参数应该是秘密的!下载到浏览器时它们怎么能保密?!!!"
因此,像hello.js或oauth.io这样的客户端OAuth2框架如何解决这个问题呢?我知道他们使用服务器端代理(知道ID和秘密)来处理他们的请求,但是客户端JS代码仍然需要以某种方式告诉代理人它是谁.那么是什么阻止任何人从我的网站上获取JS代码并代表我与代理交谈?
我还找到了适用于JavaScript的Google API客户端库.AFAIK那里的客户端代码没有传递秘密.我是否正确理解他们是通过预定义的OAuth响应地址来管理的?(以便始终通过预定义的HTTP地址返回令牌).因此,即使有人试图通过使用我的ID来冒充我的网站,令牌仍将返回我的网站?
也许我在这里混淆了一些不同的主题,关于这个主题的任何亮点都会受到赞赏.
我很惊讶地发现Hibernate会在事务结束时自动保存脏对象,而不会显式调用类似的东西
dao.save(object)
Run Code Online (Sandbox Code Playgroud)
我想到了这个线程所描述的情况
我的问题是:有没有办法禁用这种行为?乍一看,这种自动保存看起来相当危险,因为您需要知道哪些对象连接到会话,哪些不是,并且似乎很容易错误地保存.你能告诉我这种自动保存方法的好处是什么?我什么都看不到.我想总是显式调用dao.save(object)来更新任何东西.
我听说过一个可能的解决方法,就是在sessionFactory上使用entityInterceptor.这个自定义entityInterceptor会覆盖findDirty方法,永远不会找到任何脏东西,但在这种情况下,我认为dao.save也不会起作用.有任何想法吗?
我正在使用Logstash + Elasticsearch + Kibana来概述我的Tomcat日志文件.
对于每个日志条目,我需要知道它来自的文件的名称.我想把它添加为一个字段.有办法吗?我用谷歌搜索了一下,我只发现了这个问题,但答案不再是最新的.
到目前为止,我看到的唯一解决方案是为每个可能的文件名指定单独的配置,使用不同的"add_field",如下所示:
input {
file {
type => "catalinalog"
path => [ "/path/to/my/files/catalina**" ]
add_field => { "server" => "prod1" }
}
}
Run Code Online (Sandbox Code Playgroud)
但是每次有新的可能文件名时我都需要重新配置logstash.有更好的想法吗?
我正在调查IE下的内存泄漏情况.IE消耗的内存量不断增长,并且增长到1 GB甚至更多......
为了解决这个问题,我开始看一下IE 11 Developer Tools中的"Memory"面板.在那里我看到浏览器的"总内存"从大约300 MB增加到大约1.3 GB(大约20分钟).
但是,我所使用的堆快照只有大约15 MB到大约17 MB:
.
所以我甚至不想看看它们(因为15 MB与1 GB相比很小).因此我不知道在哪里找到问题的原因.
坦率地说,我的结论是,它是浏览器的内存泄漏而不是页面本身,或者我完全误解了开发人员工具告诉我的内容.实际上,在正式的开发人员工具文档中,所描述的DT用例也显示了"总内存"和堆快照大小之间的巨大差异.如果IE似乎没有显示它的用途,如何调查非堆区域中的错误?
PS顺便说一句:禁用加载项后,行为完全相同.
在下面的代码片段(Spring 3)中:
@Transactional("txManager")
public class DaoHolder {
@Transactional(value="txManager", readOnly=false, propagation=Propagation.REQUIRES_NEW, rollbackFor={Exception.class})
private void runTransactionalMethod() throws Exception {
dao1.insertRow();
dao2.insertRow();
//throw new Exception();
}
//...
}
Run Code Online (Sandbox Code Playgroud)
上面的代码以事务方式正常工作 - 特别是,当没有抛出异常时,每个dao操作都被提交(到2个不同的数据源).抛出异常时,每个dao操作都会回滚.
我的问题是:它为什么有效?我读到的任何地方我都被告知在处理多个数据源时使用JtaTransactionManager.我不想使用JTA.如果我让它在HibernateTransactionManager下运行会有什么后果?
感兴趣的更多细节:
每个数据源的定义如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initial_size}" />
<property name="maxActive" value="${jdbc.max_active}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
每个会话工厂的定义如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
... multiple …Run Code Online (Sandbox Code Playgroud) 这个线程对于找出Netbeans中的哪些文件应该进入源控制非常有用,但它不包括所有文件.
特别是我想知道以下文件是否应该进入源代码管理.以下是我的假设/猜测:
nb-configuration.xml - 最简单 - 评论中的文件本身应该进入源代码管理.
nbactions.xml - 从我看到的这个文件存储运行应用程序的典型信息.即JVM参数等.所以我认为这是一个品味问题 - 如果你希望其他开发人员有一个"建议"运行配置 - 包括它.否则 - 不要.正确?
catalog.xml - 不确定这是做什么的(我希望编辑器使用它来找出xml架构等,以启用语法着色,但这只是猜测).无论如何 - 我看到这个文件有系统特定的信息(路径) - 所以它不应该进入源代码控制.
任何人都可以确认以上内容 谢谢,
彼得·
在我的应用程序中,我需要定期运行后台任务(我可以使用Quartz轻松地完成该任务-即安排要在特定时间定期运行的给定作业)。
但我想多控制一点。特别是我需要:
在我看来,以上几点可以通过Spring Batch Admin来实现,但是我在这方面还没有很多经验。另外,我已经看到很多关于Spring Batch不是调度工具的文章,所以我开始怀疑这里应该使用哪种合适的工具。
所以我的问题是:以上内容可以通过Spring Batch Admin实现吗?也许Quartz就足够了,但需要配置以完成上述操作?还是我都需要?或者是其他东西?
非常感谢:)彼得
我正在尝试保护我的Web应用程序免受ajax请求的超时.要做到这一点,我显然需要模拟这样的超时.
从我在这里找到的:http: //kb.mozillazine.org/Network.http.connect.timeout#Background firefox超时是系统相关的,我在这里找到了:http://support.microsoft .com/kb/181050默认情况下,IE超时时间为60分钟.
所以我看到以下模拟超时的方法:
以上所有方式对我来说都是一种矫枉过正.有没有人知道一种更简单的方法(可能在不同的浏览器上)?谢谢!
我在StringTemplate 4中生成了一个Javascript数组,但我在跳过最后一个元素之后的尾随昏迷时遇到了麻烦.每个项目都是使用模板生成的,然后我想用comas将它们分开,以便在表单中创建一个数组:
[ item1, item2, item3, item4 ]
Run Code Online (Sandbox Code Playgroud)
目前,我生成此阵列的最佳方法是:
array(elems) ::= <<
[
$first(elems):elem_noComa()$
$rest(elems):elem()$
]
>>
elem_noComa(el) ::= << { ...element generation... } >>
elem(el) ::= <<
, $elem_noComa(el)$
>>
Run Code Online (Sandbox Code Playgroud)
有没有办法更容易/更短的形式?
我正在使用Npsql和PostgreSQL.我想在另一个事务中看到一个事务的未提交更改.
这是我创建连接和事务的方式:
// create connection
m_Connection = new NpgsqlConnection(connectionString);
m_Connection.Open();
//create transaction
m_Transaction = m_Connection.BeginTransaction(IsolationLevel.ReadUncommitted);
Run Code Online (Sandbox Code Playgroud)
在一个线程中,我插入一行,如下所示:
NpgsqlCommand command = CreateCommand("INSERT INTO TABLEA ....", parameters, commandTimeout)
command.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
并且在不提交或回滚交易的情况下处理其他内容.
在另一个线程中,我读了一行,如下所示:
NpgsqlCommand command = CreateCommand("SELECT COUNT(*) FROM TABLEA", parameters, commandTimeout);
command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
但不知怎的,我没有看到第一个INSERT的结果.我也没有在pgAdmin中看到插入的结果(即使在运行SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED之后).
我究竟做错了什么?任何帮助将不胜感激.
这是一个与this 类似的问题。
我真的很想在我的应用程序中将日期时间存储为本地时间而不是 UTC(这被认为是最佳实践)。在应用程序中,我发生了许多事件,每个事件都分配给给定的位置。当我向用户显示它们时,我总是想显示事件的当地时间。IE:
====================================================================================
Event time (with TZ) | As UTC | As local time | To be displayed |
====================================================================================
2014-01-15 22:30 GMT | 2014-01-15 22:30 | 2014-01-15 22:30 | 2014-01-15 22:30 |
2014-01-15 23:30 GMT+1 | 2014-01-15 22:30 | 2014-01-15 23:30 | 2014-01-15 23:30 |
2014-01-16 00:30 GMT+2 | 2014-01-15 22:30 | 2014-01-16 00:30 | 2014-01-16 00:30 |
====================================================================================
Run Code Online (Sandbox Code Playgroud)
如果我决定以 UTC 格式存储事件时间:
显示它们将很困难(因为对于每个事件,我都需要该事件的时区并格式化该时区的日期)。
查询它们将非常困难(即,如果我想显示当地时间 2014-01-15 发生的所有事件,我需要每个事件将该事件的时间与该事件中“2014-01-15”的含义进行比较时区。不确定这在 SQL 中是否可能......)
如果我决定将事件时间存储为当地时间:
由于在应用程序中的绝大多数情况下,我对当地时间(通常显示所谓的“电视时间”)感兴趣,并且没有很多情况我创建新的日期时间对象(为此我需要位置时区),我相信在这种情况下将日期时间保存为当地时间是合理的。
你认为是吗?存储当地时间还有哪些其他缺点?
预先感谢您的关注和帮助。
hibernate ×2
ajax ×1
datetime ×1
dst ×1
google-oauth ×1
hello.js ×1
java ×1
logstash ×1
memory-leaks ×1
netbeans ×1
npgsql ×1
oauth-2.0 ×1
postgresql ×1
scheduling ×1
spring ×1
time ×1
timeout ×1
timezone ×1
transactions ×1
utc ×1