小编sys*_*out的帖子

.NET Framework中的复杂声明值与System.Security.Claims

我正在使用Asp.Net 5 MVC,Owin和Oauth2 bearer token作为auth类型开发一个Web应用程序.

按照本指南将Json序列化的自定义复杂声明添加到Microsoft.IdentityModel.Claims.ClaimsIdentity成功的实例中,我尝试使用命名空间上的ClaimsIdentity复制相同的示例System.Security.Claims.

不幸的是,似乎complexClaimClaimsIdentity实例中添加了一个派生类类型信息,并将声明存储为System.Security.Claims.Claim.

var complexClaim = new ComplexClaim<UKPassport>(@"http://it.test/currentpassport", passport);
var claims = new List<Claim>() { complexClaim };
identity.AddClaims(claims);
Run Code Online (Sandbox Code Playgroud)

当我尝试从身份中获取声明时,将其转换为ComplexClaim<UKPassport>Type会导致null值.

var passportClaim = identity.Claims.FirstOrDefault<Claim>(c=>c.Type == @"http://it.test/currentpassport") as ComplexClaim<UKPassport>;
Run Code Online (Sandbox Code Playgroud)

相同的例子完美地使用Microsoft.IdentityModel.Claims.

任何提示?

这是完整的移植代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using System.Security.Claims;

namespace ConsoleApplication1
{
    class Program {
    private static ClaimsIdentity identity = new ClaimsIdentity();

    static …
Run Code Online (Sandbox Code Playgroud)

c# claims-based-identity wif owin asp.net-mvc-5

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

Google应用引擎用户Auth:Djangoappengine与Web2py对比Webpy

我将在Gae上开发一个小型Web应用程序,其中包含注册部分,登录\注销等等.
由于Google App Engine不支持开箱即用的会话,而且我不想使用Google帐户限制访问,因此我不得不选择提供此类设施的框架.

我的选择是:

  1. 的web2py
  2. Djangoappengine
  3. Webpy

阅读它的书,Web2py似乎提供了会话对象并具有良好的访问控制,提供了一个实现基于角色的访问控制的Auth类.

我还不知道Djangoappengine,但我想它提供了Django Auth.

Webpy适用于appengine,但没有任何官方方式来处理GAE会话.

如果您使用过这些框架,那么您是否愿意分享在Google应用引擎上构建私有网站部分的经验?

session google-app-engine web2py web.py djangoappengine

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

Android Multipart POST到Google App Engine无效

我正在开发一个Android程序,它通过POST与App Engine程序共享数据,所有这些都在java中.当我使用MultipartEntity POST时,appengine程序由于某些我无法弄清楚的原因而无法看到我的任何POST变量!

Appengine代码:

public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    resp.setContentType("text/plain");
    resp.getWriter().println("Output:");

    String mRoutine = req.getParameter("Routine");
    resp.getWriter().println("Routine: " + mRoutine);

    String mPMode = req.getParameter("PMode");
    resp.getWriter().println("PMode: " + mPMode);
}
Run Code Online (Sandbox Code Playgroud)

使用Android代码段:

HttpPost post = new HttpPost("http://XXX.appspot.com/Echo");
HttpClient client = new DefaultHttpClient();
post.setEntity(new UrlEncodedFormEntity(data,HTTP.UTF_8));
HttpResponse response = client.execute(post);
HttpEntity resmarkMessagesReadFrom = response.getEntity();
if (resmarkMessagesReadFrom != null) {
    Result_STR= "Response:\n" + EntityUtils.toString(resmarkMessagesReadFrom);
    mMSGBox.setText(Result_STR);
}
Run Code Online (Sandbox Code Playgroud)

失败的Android代码段:

HttpPost post = new HttpPost("http://XXX.appspot.com/Echo");
HttpClient client = new DefaultHttpClient();
MultipartEntity reqmarkMessagesReadFrom = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine android http-post

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

当MathJax中的"Processing Math"达到100%时如何触发javascript函数

Print()当js库MathJax完成处理访问过的网页时,我想调用一个javascript 函数.

目前Print()使用onload但是它似乎停止了MathJax的Processing Math任务(此处为demo ); 用户需要关闭浏览器的"打印"弹出窗口,以便让MathJax完成其处理.

我希望能够Print()在MathJax中的Processing Math达到100%时调用.
有任何想法吗?

javascript printing callback mathjax

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

使用任何带有Tipfy的OpenID进行身份验证

我正在开发我的应用程序的身份验证部分,我遇到了使用OpenID编码身份验证的问题.

我查看了Tipfy示例代码,但似乎是在OpenID提供程序硬编码为google的假设下编写的.

我希望用户能够提供他们想要的任何OpenID(这不是重点吗?).

有没有人有任何示例代码显示用户使用用户提供的OpenID登录?

python openid google-app-engine tipfy

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

如何使用谷歌翻译应用程序

我编写了关于字典句子的程序,我想在我的应用程序中有"google translator"应用程序的功能

我该如何使用它,我应该导入任何东西吗?

android google-translate

9
推荐指数
4
解决办法
9189
查看次数

在多对多关系中查找具有完全匹配的记录

我有三个看起来像这样的表:

PROD

Prod_ID|Desc
------------
P1|Foo1
P2|Foo2
P3|Foo3
P4|Foo4
...
Run Code Online (Sandbox Code Playgroud)

内存

Ram_ID|Desc
------------
R1|Bar1
R2|Bar2
R3|Bar3
R4|Bar4
...
Run Code Online (Sandbox Code Playgroud)

PROD_RAM

Prod_ID|Ram_ID
------------
P1|R1
P2|R2
P3|R1
P3|R2
P3|R3
P4|R3
P5|R1
P5|R2
...
Run Code Online (Sandbox Code Playgroud)

PRODRAM之间,PROD_RAM表描述了多对多关系.

给定一个Ram_ID(R1,R3)我想要找到的所有PROD具有给定集合中的一个全部RAM集合.

给定(R1,R3)应该返回例如P1,P4P5; P3不应该被返回,因为有R1R3R2.

什么是让所有的最快的查询PROD具有正是ONE全部Ram_ID给定的RAM一组?

编辑:
PROD_RAM …

sql sql-server sql-server-2008

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

在Google App Engine上阅读静态XML文件

我的App Engine应用程序中有一个静态XML文件,上传得很好,我正在尝试为一些基于规则的执行逻辑读取它,但是下面的错误引发了我的注意:

Caused by: java.security.AccessControlException: access denied (java.io.FilePermission /war/WEB-INF/StaticContent.xml read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:393)
    at java.security.AccessController.checkPermission(AccessController.java:553)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)
    at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
    at java.io.FileInputStream.<init>(FileInputStream.java:130)
    at java.io.FileInputStream.<init>(FileInputStream.java:96)
Run Code Online (Sandbox Code Playgroud)

我尝试将文件直接放在战争和war/WEB-INF目录中,问题仍然存在.服务器上的尝试读取文件就像这样简单:

final FileInputStream fis = new FileInputStream("/war/WEB-INF/StaticContent.xml");
Run Code Online (Sandbox Code Playgroud)

根据这篇文章,我正在做的一切正确:http: //code.google.com/appengine/kb/java.html#readfile

任何帮助都感激不尽.

java google-app-engine

9
推荐指数
2
解决办法
4241
查看次数

Azure Notification Hubs templateName的用法

我已经创建了一个带有Cordova的示例App和一个与Azure Notification Hubs对话的Mvc5应用程序.注册由后端处理,因为标签必须是安全的.

我们使用了从后端注册的三种不同的模板,用于iOS,WP8和Android平台; 后端可以$message使用有效载荷发送推送通知sendtemplatenotificationasync.

它工作但我们没有使用templateName.

从您的app后端文档中读取注册,我发现了这个:

"您可以使用注册的TemplateName属性来识别模板".

一旦我使用templateName成功创建了一个注册,我该怎么办呢?

我期望找到一个API发送方法,除了标签或标签表达外,还能指定一个特定的templateName; 我还没有找到这样的东西.

什么是含义和一般用例templateName

c# azure push-notification azure-notificationhub

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

仅允许输入文本字段上的数字文本

我正在使用Jquery Numeric插件,但我发现在Osx上没有使用FireFox 3.6(不允许粘贴).

我正在搜索Jquery插件或Javascript片段,它只允许输入文本字段上的数字文本.
我有以下要求:

  1. 应该只允许数字文本
  2. 不应该允许标点符号(.,)
  3. 不应该允许虚线文本( - )
  4. 应该只允许粘贴数字文本
  5. 多浏览器

javascript jquery

8
推荐指数
2
解决办法
5208
查看次数