我在API的端点上有一个自签名证书.我正在尝试使用模拟器测试一些东西,但我得到"不受信任的服务器证书".
我试图在模拟器上使用safari下载.crt文件,但这似乎不起作用.
iPhone模拟器从哪里获得钥匙串?如何添加可信证书以使我的应用程序正常运行?
UPDATE
我通过创建CA然后使用iPhone配置工具添加CA证书来实现它.然后我能够在API服务器上获得由该CA证书签名的证书,并且NSConnection正常工作.由于某种原因,我无法使用自签名证书使其工作.我需要使用配置软件重新尝试此操作.
我真正的问题是如何让它在模拟器上运行?我认为模拟器使用实际计算机的钥匙串.
有人能告诉我一个AuthenticationManager和一个AuthenticationProviderSpring Security 之间的区别吗?
它们是如何使用的以及如何调用它们.我的理解是,一个SecurityFilter会调用对AuthenticationManager一个Authentication对象进行身份验证吗?但那么它在AuthenticationProvider哪里发挥作用?
谢谢!
如果您正在寻找/Resource/Id并且该资源不存在,我总是认为404是适当的响应.但是,当null从Jersey处理程序返回时,我得到了"204 No Content".我可以与任何一个人合作,但我对其他人的想法感到好奇.
回答我自己的下一个问题.要让泽西岛返回404,您必须抛出异常.
if (a == null)
throw new WebApplicationException(404);
Run Code Online (Sandbox Code Playgroud) 我需要在Tomcat 6.0.24容器中保护一个简单的Jersey RESTful API.我想使用该tomcat-users.xml文件保持基本身份验证的身份验证以定义用户和角色(这是暂时的,就像我说它很小).
现在,授权我希望能够使用JSR 250注解像@RolesAllowed,@PermitAll,@DenyAll等等.
我不能为我的生活弄清楚如何把这一切都连在一起.
我真的不想去Spring Security路线,因为我现在需要一些非常简单的东西.
有人能指出我正确的方向吗?
我有一个与许多不同站点通信的应用程序,每个站点都有自己的SSL证书,由我们自己的内部CA签名.这样做可以防止我们为每个站点购买SSL证书(数百或数千),并且在每个站点上使用带有共享密钥的通配符证书时更安全.因此,基本上使用CA证书是唯一的方法.
现在,我有一个mobileprovision文件,它将CA证书作为配置文件安装在手机上.如果我们的iPhone应用程序在获得SSL证书错误时启动,它将通过Safari重定向到此移动配置文件,系统将提示用户安装CA.
问题是我担心Apple AppStore可能会拒绝我的应用程序(此时只是来自其他开发人员的一些反馈),我想研究其他方法来实现这一目标.
基本上我需要完成的是允许SSL连接,该连接将验证将嵌入我的应用程序中的自定义CA证书.这将使CA证书仅对我拨打的电话有效.我使用标准的NSURLConnection方法来与服务进行通信.
这可能吗?有人可以告诉我如何加载CA(PEM的形式是什么?)并将其添加到我的应用程序的可信CA证书列表中?如果那是不可能的,我还有其他选择吗?只是信任所有证书并不是真正的选择,我们希望防止中间人攻击并且只信任我们的CA颁发的证书.
谢谢!
我有一个像这样的MongoDB结构:
record = { 'field': 'value',
'field2': 'value2',
'events' : [ { 'event1': 1 }, { 'event2' : 2 }]
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Spring Data MongoDB包来访问这些数据.主要是对数据进行写入,所以我想使用原生的"$ push"功能将"事件"添加到"记录"中,但我似乎无法弄清楚如何在没有获取的情况下使用MongoRepository.整个记录,然后推送并保存回来?
在使用MongoRepository时,您从未真正拥有具体的实现.Spring根据注释或方法本身的名称处理所有内容
UPDATE
是否正确的方法是在存储库上实现自定义方法然后使用MongoTemplate手动执行?
例:
FooRepository.java
public interface FooRepository extends
CrudRepository<Foo, ObjectId>,
AppointmentWarehouseRepositoryCustom {
}
Run Code Online (Sandbox Code Playgroud)
FooRepositoryCustom.java
public interface AppointmentWarehouseRepositoryCustom {
public void pushMethod();
}
Run Code Online (Sandbox Code Playgroud)
FooRepositoryImpl.java
public class FooRepositoryImpl implements
AppointmentWarehouseRepositoryCustom {
@Autowired
protected MongoTemplate mongoTemplate;
public void pushMethod() {
// Push methods here.
}
}
Run Code Online (Sandbox Code Playgroud) 当你有一个JSON $资源时,如何在获得后将结果对象转换为更具体的对象?
例如,现在它们作为一个对象数组返回,但是我希望它们作为"约会"对象的数组返回,这样我就可以在该约会对象上有一些方法来回答有关该约会对象的问题.例如:此预约是否有与之相关的任何服务?这个预约是在上午还是下午?
起初我认为transformResponse钩子可以在ngResource中工作,但这似乎不起作用.从那里返回的不是实际的对象.似乎使用该功能,您只能在JSON解析之前修改实际数据.
最后,我怀疑这是否是一个合适的angularJS技术?或者这些辅助方法是否只显示在控制器或其他模块中并接受该对象的工作?我认为将它们包裹在物体中更清洁,但我承认我对angularJS不是很有经验.
当搜索栏聚焦时,我看到的许多表搜索实际上是暗淡的(更改alpha?)实际的tableView.我正在努力实现这一点.
当我超载
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
Run Code Online (Sandbox Code Playgroud)
我想做点什么
self.tableView.alpha = .5f
Run Code Online (Sandbox Code Playgroud)
但它正在改变实际searchBar的alpha(如果我有自己的searchBar)或更改整个表(包括searchBar)的alpha,如果我在IB中的tableView下面有searchBar.
我在这做错了什么.我怎么能把桌子弄脏而不是一切.
我想我真正无法理解的是这些东西是如何在屏幕上分层的.
编辑:联系人应用程序是我正在尝试做的一个很好的例子.
我看到有些人正在使用Jersey w/Spring.使用Spring 3.0,现在可以使用注释直接在控制器中创建RESTful API.我为什么要考虑使用Jersey w/Spring?
我们正在为一些小型企业部署产品.它基本上是使用Tomcat的SSL上的RESTful API.它安装在小型企业的服务器上,可通过iPhone或其他便携式设备访问.因此,连接到服务器的设备可能来自任意数量的IP地址.
问题出在安装上.当我们安装这项服务时,在进行端口转发时似乎总是成为问题,因此外部世界可以访问tomcat.似乎大部分时间主人都不知道路由器密码等等.
我正在尝试研究其他方法来实现这一目标.我想出了以下内容,并希望听到有关该主题的其他想法.
设置从每个客户端办公室到中央服务器的SSH隧道.基本上,远程设备将连接到端口上的中央服务器,并且该流量将通过隧道传输回办公室中的Tomcat.看起来有点冗余,有SSH和SSL,但实际上没有其他办法可以实现它,因为端到端我需要SSL(从设备到办公室).这里不确定性能影响,但我知道它会起作用.需要监视隧道并在完成后将其恢复,需要处理SSH密钥交换等.
设置uPNP尝试为我配置孔.可能大部分时间都有效,但不保证打开uPNP.可能是一个很好的下一步.
想出一些NAT横向方案.我只是不熟悉这些并且不确定它们是如何工作的.我们可以访问集中式服务器,如果这样可以更容易地进行身份验证.
我还应该注意什么来实现这一目标?
iphone ×3
jersey ×3
rest ×2
spring ×2
ssl ×2
angularjs ×1
annotations ×1
keychain ×1
macos ×1
networking ×1
ngresource ×1
pki ×1
spring-data ×1
tomcat ×1
uisearchbar ×1
uitableview ×1
uiview ×1
web-services ×1