问题列表 - 第17555页

WCF中基于令牌的身份验证

我正在创建一个包含ASP.NET页面和Flash小程序的网站.我希望将我的业务逻辑封装在WCF服务中,该服务将通过两个端点公开:一个可通过HTTP(S)访问Internet,供Flash客户端使用,另一个可在数据中心内访问,供应用程序服务器使用.如果这似乎不是一个好方法,那么请阻止我; 否则,我会继续......

问题是如何验证来自Flash客户端的请求.由于我不想将用户的密码存储在浏览器cookie中,因此不希望每次请求都发送密码,并且不希望在初次登录后使用HTTPS,我打算使用令牌 - 基于认证系统.我也不希望用户在登录网站后必须登录Flash客户端,因此我计划在启动时使用Javascript将令牌传递给Flash客户端.

我知道WCF支持使用.NET Framework的内置安全框架(System.Security)来强制实施访问控制,我想利用这一点.

那么问题是: 如何在Flash调用令牌时将令牌传递给WCF服务,以及如何在服务器上处理令牌?

  • WCF具有"颁发令牌"身份验证模式,但看起来这应该用于具有安全令牌服务和SAML令牌的完整联合方案 - 这是我真正想要的复杂性.可以将此模式与我自己的"简单随机字符串"令牌一起使用吗?如果是这样,怎么样?请记住,这需要与Flash兼容.
  • 我可能会在标头中传递令牌(SOAP标头或HTTP标头).在这种情况下,一旦我确定了哪个用户正在发出请求,我该如何通知框架以便System.Security检查能够正常工作?
  • 我应该考虑采用不同的方法吗?任何避免在每个请求中发送密码的东西,让我使用System.Security,并且可以使用Flash.

authentication flash wcf token system.security

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

升级到JUnit4并通过一起运行它们来保留传统的JUnit 3测试和测试套件

到目前为止,我很惊讶没找到答案.如果我遗漏了一些基本的东西,我将非常乐意知道这一点.

有一个大型遗留代码库已升级到Java 6(从1.4开始).代码中存在大量JUnit 3测试,并将其组织到测试套件中,该套件在Eclipse中与JUnit 4默认运行程序成功运行.

现在,我正在添加纯JUnit 4测试的新测试(注释,没有TestCase等).什么是一起运行旧的JUnit 3测试套件和新的JUnit 4测试?

java junit unit-testing backwards-compatibility junit4

10
推荐指数
2
解决办法
7192
查看次数

Django:在Django Admin中过滤或显示模型方法

我有一个带有过期DateField的模型.

我想设置一个Admin过滤器,允许用户在"Not Expired"和"Any"之间切换.

模型方法相当简单,日期比较,没问题.

但是,在AdminForm中将其指定为字段或过滤器参数不是自动的.

这样的事情是否可能,如果不是,那将是一个明智的解决方案......

我甚至会开放某种自动删除过期行,但我不知道如何开始这条路.

django django-models django-admin

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

应该从成员方法中调用"删除此"吗?

我刚刚阅读这篇文章,并希望得到大家的建议:

问:应该delete this;从成员方法中调用吗?

c++ self-destruction

20
推荐指数
5
解决办法
1983
查看次数

Java Swing中的自动完成文本框

是否有任何可用于实现自动完成文本框的现成Java Swing组件?

java swing

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

如何获取Windows服务的当前失败计数

我有一项服务,当某些资源不可用时会失败。我已将其配置为尝试重新启动两次,然后在第三次尝试时向我发送一条SMS。不幸的是,windows只允许您选择在特定数之后重置失败计数,而我真的希望它在每三个失败时重置一次。问题在于,一旦服务再次运行,另一个故障将导致它发送另一条SMS,甚至不尝试重新启动该服务。

因此,我想在我的SMS脚本中包含一些代码以重置故障计数器。我发现以下注册表位置:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

其中包含失败操作的其他设置(二进制),但据我所知没有计数器。

sc命令可让您查询各种内容,但不会返回失败计数。

理想情况下,我希望以编程方式查询/重置故障计数器,但是使用命令行或注册表解决方案就可以了(因为我可以编写脚本)。

counter windows-services reset

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

在核心动画层中处理鼠标的实用方法

我开始使用核心动画,我开始想知道如何处理各种鼠标事件,例如

  1. 鼠标输入了一个CALayer
  2. 鼠标退出CALayer
  3. 鼠标点击一个CALayer

现在我只专注于mouseDown发送到我的自定义视图的消息。根据文档,我应该-hitTest:(CGPoint)point在我的根层上使用调用(使用 进行设置的层[customView setLayer:rootLayer])。

它应该返回树中位于点指定位置的最远层。所以我做了:

[rootLayer hitTest:[event locationInWindow]]
Run Code Online (Sandbox Code Playgroud)

但它不起作用。如果我只是点击它似乎可以工作rootLayer,否则它只会返回null。当然,子图层被添加到rootLayer(实际上它们是被绘制的)

我是否缺少某种坐标转换?除此之外,这是处理鼠标点击的方式吗?

要查找鼠标何时进入 CALayer,我是否必须对鼠标的每次移动更新进行命中测试?

提前致谢

mouse cocoa core-animation

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

Qt QString克隆分段错误

我正在使用Qt Creator构建我的第一个Qt应用程序,一切都很顺利,直到我从一条明显无害的线路开始得到一个奇怪的SIGSEGV.

这是错误:

程序接收信号SIGSEGV,分段故障.QBasicAtomicInt :: ref(this = 0x0)中的0x0804e2fe位于/usr/lib/qt/include/QtCore/qatomic_i386.h:120

通过在gdb上回溯异常,我发现当我返回属性时,一个简单的getter将NULL指针传递给克隆构造函数.

Backtrace输出:

(gdb) backtrace
#0 0x0804e2fe in QBasicAtomicInt::ref (this=0x0) at /usr/lib/qt/include/QtCore/qatomic_i386.h:120
#1 0x0804eb1b in QString (this=0xbfcc8e48, other=@0xbfcc8e80) at /usr/lib/qt/include/QtCore/qstring.h:712
#2 0x0805715e in Disciplina::getId (this=0xbfcc8e7c) at disciplina.cpp:13
[...]

检查传递给QString构造函数的指针:

(gdb)x 0xbfcc8e80
0xbfcc8e80:0x00000000

这是门徒.13:13

QString Disciplina::getId()
{
    return id;
}
Run Code Online (Sandbox Code Playgroud)

所以,所有指向QString的复制构造函数的点都接收到一个空指针,这对我来说毫无意义.id被声明为私有QString.

private:
    QString id;
Run Code Online (Sandbox Code Playgroud)

好吧,我不知道会发生什么,而且我的调试技巧只能到目前为止,所以如果有人可以提出一个想法我真的很高兴.

谢谢.

编辑

根据要求提供更多代码.

disciplina.h

#ifndef DISCIPLINA_H
#define DISCIPLINA_H
#include <QString>
#include <QMap>
#include "curso.h"
#include "turma.h"

class Curso;

class Turma;

class Disciplina
{
private:
    unsigned …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt pointers

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

字符串的常量哈希?

关于SO的另一个问题是将一些语言中的工具用于散列字符串,以便在表格中快速查找.两个例子是.NET中的dictionary <>和Python中的{}存储结构.其他语言当然支持这种机制.C++有它的地图,LISP和大多数其他现代语言一样具有等价物.

在问题的答案中争论的是,字符串上的哈希算法可以在一个持续时间内进行,其中一个SO成员具有25年的编程经验,声称任何事物都可以在恒定时间内进行哈希处理.我个人的论点是,这不是真的,除非你的特定应用程序在字符串长度上设置边界.这意味着一些常数K将决定字符串的最大长度.

我熟悉使用散列函数进行操作的Rabin-Karp算法,但是这个算法没有规定要使用的特定散列函数,作者建议的那个是O(m),其中m是长度.哈希字符串.

我看到一些其他页面,例如这个(http://www.cse.yorku.ca/~oz/hash.html)显示了一些哈希算法,但似乎每个页面都在字符串的整个长度上迭代达到它的价值.

根据我对该主题的相对有限的阅读,似乎大多数字符串类型的关联数组实际上是使用散列函数创建的,该散列函数在引擎盖下运行某种树.这可以是AVL树或红/黑树,其指向键/值对中的值元素的位置.

即使使用这种树结构,如果我们要保持theta(log(n))的顺序,n是树中元素的数量,我们需要有一个恒定时间的哈希算法.否则,我们会对字符串进行迭代处理.尽管对于包含许多字符串的索引,theta(m)会被theta(log(n))黯然失色,但如果我们处于这样一个域中,我们搜索的文本将非常大,我们就不能忽略它.

我知道后缀树/数组和Aho-Corasick可以将搜索降低到theta(m)以获得更大的内存费用,但是我要问的是,如果存在任意长度的字符串的常量时间哈希方法,那么其他SO成员声称.

谢谢.

string associative-array string-algorithm

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

AVAudioPlayer初始化:错误代码-50

我最近碰到了一个我在互联网上找不到的问题 - 我正在初始化AVAudioPlayer播放音频文件,并收到以下错误:

Error Domain=NSOSStatusErrorDomain Code=-50 "Operation could not be completed. (OSStatus error -50.)
Run Code Online (Sandbox Code Playgroud)

事实证明,我在创建NSURL发送到音频播放器init方法时犯了一个错误,导致NSURL对象为空.愚蠢的错误,调试时很容易找到,但我想我会在这里列出它以防万一其他人做同样的事情.

iphone cocoa-touch core-audio

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