小编mar*_*kas的帖子

如果未经过身份验证,则重定向所有路由以进行登录

如果有人在未经过身份验证时尝试点击任何其他路由,我该如何重定向到登录页面?在AngularJS中有没有"最好"的方法呢?

似乎是一个常见的问题,但我似乎无法找到一种方法来做到这一点.预先感谢您的帮助.

javascript authentication angularjs

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

AngularJS指令范围的默认值是什么?

AngularJS指令的默认范围值是多少?

当然,它不是孤立的范围.这是真是假.

我找不到任何关于它是什么的文件.

angularjs angularjs-directive angularjs-scope

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

用户活动跟踪或使用javascript记录

是否可以在网页上跟踪用户的每个操作并创建日志?我们的想法是通过AJAX将用户操作的日志传输到服务器并保存.在每个元素的每个事件上,我可以编写代码/逻辑来编写一些登录控制台,但我想知道是否有任何库/快捷方式可以记录客户端网页上的所有操作,包括事件和操作,如复制,粘贴,单击,双击,选择等及其元素参考.

html javascript jquery logging dom

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

为什么HikariCP建议使用固定大小的池以获得更好的性能

根据HikariCP的文档,他们提到创建固定大小的池以获得更好的性能.

minimumIdle:

此属性控制HikariCP尝试在池中维护的最小空闲连接数.如果空闲连接低于此值,HikariCP将尽最大努力快速有效地添加其他连接.但是,为了获得最高性能和对峰值需求的响应,我们建议不要设置此值,而是允许HikariCP充当固定大小的连接池.默认值:相同maximumPoolSize

我的应用程序通常需要100个连接,并且仅在少数情况下达到200个连接.

如果我创建一个200连接固定大小的池,大多数时候100个连接将是空闲的.

那么以下哪一项是最好的:

  1. 创建固定大小的连接池.即200

要么

  1. 通过设置minimumIdle为100和maximumPoolSize200 来创建连接池.

为什么HikariCP不推荐第二点?我认为第二个对我来说是最好的.

java database sql-server connection-pooling hikaricp

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

如何在Java中压缩JSON并在Javascript中解压缩

我有大量的数据从服务器发送到Javascript,这需要相当长的时间来加载.

我想知道如何在Javascript中实现服务器压缩和解压缩.我将不胜感激任何帮助.

javascript java json

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

JSONObject不适用于Android 2.3但适用于Android 4.2,为什么?

我正在为JSONObject请求服务器,它包含一些ID的列表.这适用于Android 4.2,但不适用于Android 2.3(已在Device和Emulator上测试过.)

JSONObject如下.

{"IdList":[{"id":"004502"},{"id":"S007901"},{"id":"041501"},{"id":"S139001"}]}
Run Code Online (Sandbox Code Playgroud)

这适用于4.2,但NullPointerException在2.3中显示.

我的LogCat如下:

org.json.JSONException: Value Nullpointer of type java.lang.String cannot be converted to JSONObject
06-06 11:23:46.881: W/System.err(1820):     at org.json.JSON.typeMismatch(JSON.java:107)
06-06 11:23:46.893: W/System.err(1820):     at org.json.JSONObject.<init>(JSONObject.java:158)
06-06 11:23:46.893: W/System.err(1820):     at org.json.JSONObject.<init>(JSONObject.java:171)
06-06 11:23:46.893: W/System.err(1820):     at my.Site.serverInterface.executeHttpRequest(serverInterface.java:128)
06-06 11:23:46.893: W/System.err(1820):     at my.Site.serverInterface.getAtmId(serverInterface.java:54)
06-06 11:23:46.901: W/System.err(1820):     at my.Site.TrackLocation$AtmGetter.doInBackground(TrackLocation.java:379)
06-06 11:23:46.901: W/System.err(1820):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
06-06 11:23:46.901: W/System.err(1820):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
06-06 11:23:46.901: W/System.err(1820):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
06-06 11:23:46.901: W/System.err(1820):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
06-06 11:23:46.901: W/System.err(1820):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
06-06 11:23:46.901: W/System.err(1820):     at java.lang.Thread.run(Thread.java:1019) …
Run Code Online (Sandbox Code Playgroud)

android json

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

更新本地Android数据库

我目前在Android上遇到SQLite数据库问题.

我的应用程序在apk文件中有一个本地数据库.当应用程序启动时,它将检查新版本,并下载全新的数据库(如果可用)(尽管在两个数据库版本之间,更改很少).但是现在数据库太大了.因此,新数据库可用时需要很长时间.那么解决这个问题的方法呢?

database sqlite android

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

Spring Framework,启用PUT方法

我遇到了捕获发送到服务器的PUT请求的问题.

这些是我的方法:

@RequestMapping(method= RequestMethod.GET)  
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state,  Model model) {
    System.out.println("get request");  
    return "index";  
}


@RequestMapping(method= RequestMethod.PUT)  
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
    System.out.println("put request");
    return "index";
}
Run Code Online (Sandbox Code Playgroud)

当我跟踪调用时,我的PUT请求是由GET方法处理的,而不是我班级中的PUT方法..在屏幕上,它总是读作"获取请求".我已经检查了浏览器日志并确认他们发送了正确的PUT请求,所以我想我在这里错过了一些Spring配置,但我不知道它是什么..

有人可以帮忙吗?

谢谢.

编辑:附加代码与类:

@Controller
@RequestMapping(value="/retail/{cid}/master/city")
public class City {

    @RequestMapping(value="/foo1", method= RequestMethod.GET)  
    public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State")   Integer state,  Model model) {
        System.out.println("get request");  
        return "index";  
    }

    @RequestMapping(value="/foo2", method= RequestMethod.PUT)  
    public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) …
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-mvc http-method

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

使用基本身份验证获取 OAuth 令牌

背景

我有一个具有 OAuth2 安全性的 Spring 应用程序。

我可以通过以下请求轻松获取 OAuth Bearer令牌:

POST {{...}}/oauth/token
?grant_type=password
&client_id={{client_id}}
&username={{username}}
&password={{password}}
Run Code Online (Sandbox Code Playgroud)

这将在响应中返回一个200 OK带有 my的请求access_token

问题

我的问题是我的一个客户不喜欢在查询中将纯文本密码作为查询参数发送的想法,他们希望使用基本身份验证获取 OAuth 承载令牌。

但是我不能让它以下列方式工作:

POST {{...}}/oauth/token
Run Code Online (Sandbox Code Playgroud)

授权: Basic base64encoded(username:password)

内容类型: application/x-www-form-urlencoded

请求正文:

{
  "grant_type": "password",
  "client_id": {{client_id}}
}
Run Code Online (Sandbox Code Playgroud)

它返回401 Unauthorized,并且

{
    "error": "unauthorized",
    "error_description": "Bad credentials"
}
Run Code Online (Sandbox Code Playgroud)

我的applicationContext.xml文件看起来像这样:

<beans>
...
  <!-- Definition of the Authentication Service -->
  <security:http 
    pattern="/oauth/token" 
    create-session="stateless"
    authentication-manager-ref="clientAuthenticationManager">
    <security:anonymous enabled="false"/>
    <security:http-basic entry-point-ref="clientAuthenticationEntryPoint"/>
    <security:custom-filter ref="clientCredentialsTokenEndpointFilter" after="BASIC_AUTH_FILTER"/>
    <security:access-denied-handler ref="oauthAccessDeniedHandler"/>
  </security:http>

  <!-- …
Run Code Online (Sandbox Code Playgroud)

spring oauth spring-security basic-authentication oauth-2.0

5
推荐指数
0
解决办法
1604
查看次数

为什么在java中你不需要创建这些json读/写?

如果我错了,请纠正我,但是当使用Java而不是Spring MVC时,您不必创建这些额外的类来将Java类映射到JSON,将JSON映射到类.

你为什么要在Play with Scala中这样做?它与Scala有关吗?

case class Location(lat: Double, long: Double)

implicit val locationWrites: Writes[Location] = (
  (JsPath \ "lat").write[Double] and
  (JsPath \ "long").write[Double]
)(unlift(Location.unapply))


implicit val locationReads: Reads[Location] = (
  (JsPath \ "lat").read[Double] and
  (JsPath \ "long").read[Double]
)(Location.apply _)
Run Code Online (Sandbox Code Playgroud)

java scala playframework

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

如果远程跟踪引用不再存在,请删除本地Git分支

我有一个本地和远程Git存储库.

  • 在我的本地存储库中,我创建并切换到新分支: git checkout -b feature/niceNewFeature

  • 我做我的编码git add .,git commitgit push我的feature/niceNewFeature分支远程存储库(如GitHub上).

  • 在此之后,我创建了一个GitHub Pull Request来合并feature/niceNewFeature分支master- 在审查代码之后,我将这样做.

  • 由于feature/niceNewFeature现在合并到master,我将在GitHub上删除它.

  • 但是,在我的本地存储库中,如果执行git branch命令,仍会列出feature/niceNewFeature分支.

如何feature/niceNewFeature从本地存储库中删除分支,因为它已经与master远程存储库合并和删除?

git version-control branch github git-branch

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

解码URL参数

以前,我能够找到我的Outbrain流量来自哪里,因为它们在引用者中包含了一个URL参数" origSrc = 1534129 "(这是FoxNews.com),如下所示:

http://paid.outbrain.com/network/redir?key=ba8d39805de79b21e0a2fcffd446bcb9&rdid=821633827&type=RPM_/NA_ch2&in-site=false&idx=0&pc_id=21501924&req_id=5b740ff295227c1753749adc72bbb725&agent=blog_JS_rec&recMode=7&reqType=1&wid=150&adsCats=1708,-1,-1&refPub=296&scp=false&reqIdx=2&fcapElementId=22824&origSrc=1534129&did=714910702&pv_id=78d716e32bec0124bcb424aa2eddaabf&uuid=2c2af39f-d968-4e88-8e88-ab230fcd7b33
Run Code Online (Sandbox Code Playgroud)

他们最近编码了他们的URL,他们现在看起来像这样(取自FoxNews上的模块):

http://paid.outbrain.com/network/redir?p=feJ7Nr753ZKUyzw%2BkQlkGkqo5h6KSzmqBURelKOHYrNFhpUzeNFwXTxpvZ9lBtLT%2FgisNu6dS9DPr4g73pQz4w9YK0W5LSzfsnlqPupuJb3Mcq4pJ7X9LIlPVyzR4QOTRGDIeznBTsTvVl9vPhOW9QJOZPzmQpAK7Q5yMiMwwXaPwzL78WZrc%2BC0bpWCIRwHsJSjqcMVcK%2FN6d8scrmnCAPlDwQVXudXKBRynneq02%2FD9Uqx%2F5zL501Asq0%2BTukd4UBkYdAS21EOSP7AkBn2dJl1G5HXtdURXZst%2F%2F%2B0TcQkRoZ98%2BO8qxKH87AX0uw5a2svIsbL9AmGnX3%2BlLVuMYZFTZRt0LbUnFUWuXFSkvT0oDfO93yhU5Kfcw%2BgpclDQe7NSaHu2ylLobiHuldabM%2B5DslhvZRSG7a4KZkYj%2BRAerkozmIuzDhbydgWPItX3pFDtt0e0tgwZ7Gen%2FT2lmA0qr1%2BLLs%2FPwx098SSR58%3D&v=2

http://paid.outbrain.com/network/redir?p=309deACtZtKjR3dLT6Bj9O0z08jGMvbDzb%2Fd8oIFnvZXEP7XkkjGe6ZhdKc0g2SYaXZfed7Xd9%2BGTy4%2B%2F%2BPxhWGXYoj5Acl9Vu7d3UPDnTZyzq9q%2BjzRXMMPnFezyYZ4swDqWJf1lRqOpBJhG%2Fmoge0OSSvdL2TdKpTvkf1Nj05z%2BL%2BthUPKVXZJ5cx%2BpSeUDsi4SfKr1VkY8hd6HWmspnwghK6KDuKwUjtzesbzYmp%2Bh9keRCCKUwciJ6LU2R17Wnj6BVm7onAsV4INFNPI2Q9lOb%2B%2FX4QRvPxlQXiV5anx9%2BEz%2B1rGtDUdN%2Fy9wYn%2FdUggxWvYNeEbkP2c3fBhnOFEbonbMjPKILpuJB6736QDoyoMuA1ajf4ol%2FbcIhr4p0JXnqd3NPgiQY1%2Fr69z5tiNucv5FkU9v0ndUP%2FyN4FLg2dzo2GxednAZemvGtveCwXbIYGaCAEuWRUvleHgjWKBq5oD0c4cXvTrF%2BiYvmg%3D&v=2

http://paid.outbrain.com/network/redir?p=MYWXGHfkM0sqd18Ui%2BFev3GftAAm1Kb6pMI5j7F0ajSSxG9%2F9iYBjIOsnuqKi9vYijInoR1WxEhljCj8x13h0DIq7tN2dbhbJ9XnZUatWQgEifNWdRSD8ctvH2Y7CLvFnn8jLVovdJLyEVhAgbbOp55WiaEBPfKySR6pMUSPxlViQKLqGvpWRihGnl0STT1dpZqXSdYPixEg69pYB1Ug25u%2BQWrqZh9nI2mQe%2FfClHU6RO8DjiJfBLybujkSCa3aZcB9BeQPgsD6ZF824ymK%2FuyhF7TbR4XUsj7VzM06UjHxwOf4yyG%2FKnRja%2Bn7TOctwZlQJS4NM1Hcd9VEUOjZXVstFrUL6eIxw7nyVSfEkHxOr%2FRZFbbuigxQTei%2BhOExXozKbdfVjZlM8DyQEC0vSOk65NZoZH6sqDdS82Kzq3tCo7StJfv7vJqX9M3jHCizFu8H7IrLZ8%2FI3DhNYDWWY5hv1ECQXjrBdBDJvdQmP8c%3D&v=2

http://paid.outbrain.com/network/redir?p=6iwOm%2B%2BX4zGj74w0QWgyt4ix6H27RiHYp1gQ4qWa3mx90Q2MqZOZTjjiwepqeJpnA9aSwVgJpr9hB0Cy5CM9bBxCVmS%2FGOLl%2BtEc%2B567MNWivjSXAU2KTbV39EqwhOTfCcQAvqtShB%2BM2GtsUyxT63Wt16Q%2B1pMOH17JscejlYAcOjz%2BIkZDQXsKQi3%2FG%2FBzQDTl1suimn3DA63sE230KwmoZPLrgQuSaQENsq9bmcOFHq%2BOGqMLFg9AUKFeXyObjktfdmvPvBCCXH3zNZcYxMAv%2FHCHNGBEzvDHo58h4%2BG15ME%2FriHgPoVbZAVGzpKGspCwPJ8FKOHCjEw%2BZ7PDL%2BeO%2F3MYpqNH5VWVhYna2Tv0zIHrWpRtFSrxqM%2B73DR7gGOogNF32zayMdqHPbUOR2AAkOaW2gLZIn6Z%2F%2F8yh7ms77fgxdeQr8N0IaLOkxhE93UiK9dP216xOaUc64AKcPm7s2qGlW7b3QyG33CBmzY%3D&v=2
Run Code Online (Sandbox Code Playgroud)

这四个URL中的某个位置是一个将该站点标识为FoxNews.com或origSrc id的参数.

有谁知道如何找出origsrc在新网址中的含义?

base64 decode urldecode

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