Does IOS support Active Directory in any way? - ios

I know this a pretty general question and I'm not looking for code or anything. Even a link or short explanation would be nice.. Specifically searching for a way to browse network based active directories from an internal IOS application. Using a cloud or email is not an option.. Possible?

There is a recent article on IBM developerWorks that explains how to use OpenLDAP client libraries in the iOS environment. You can use OpenLDAP client libraries to access LDAP sources, including Active Directory. Not all Active Directory operations are supported, but even basic queries should be sufficient for building a browsing application.

There is a recently released free solution called Centrify Express for Mobile that allows an iOS device (iPad/iPhone/iPod) to join Active Directory, so you can use AD to manage/secure the iOS device.

Related

Xamarin.Forms and azure mobile apps with existing sql database

I have an MVC application in production, hosted on Azure. Now I would like to develop Mobile app using Xamarin.Forms and Azure Mobile apps. The goal is to use the same database on both mobile and web. After reading available documentation online, I haven't found the way that would suffice my needs. I would like to know what is the fastest and best way to achieve that.
Is it enough to add necessary fields to existing entities that I would use in my mobile apps? Meaning adding fields like: Version, CreatedAt, UpdatedAt, Deleted and add another Id field of type string ex. MobileId (because current database uses autoincrement ids of type integer). Is this approach Ok, or should I do it some other way?
Any suggestion/advice would be much appreciated.
Azure Mobile apps is an accelerator and a way for devs not familiar with backend development to quickly create a backend for mobile apps. Since you already have a backend, you can simply add API methods in your MVC app that your mobile app will call. You will not benefit from some of the features that the SDK provides but you won't have to change your database structure.
You don't need to create a backend mobile app and in most cases you probably shouldn't. Is your app hosted in app services? If so there really wouldn't be any major differences between leveraging (and expanding as needed) the controller layer of your application. In most cases the datastore won't need to change to accommodate a mobile app vs a web app. Usually you want the datastore to change and evolve based on the features that you want your application to support as opposed to the plataforms that are consuming those features. It's usually a good idea to add an abstraction layer(s) to shield the datastore from platform specific requirements.
That being said there are a few Azure services that you should consider adding to make your life easier when developing Xamarin apps:
Notification Hub (provides an abstraction layer over the platform specific push notification services for ios and android).
App center (provides very useful telemetry data about crashes and errors that occur in your Xamarin clients).
App insights, it provides really good additional telemetry data with very powerful out-of-the-box visualization and querying capabilities for both web apps and mobile apps (I would configure app center to feed its telemetry data to App Insights).
If you provide me with more details about the application I would be happy to give you more detailed suggestions but the recommendations above serve as a good starting point for almost all the mobile application projects that I have encountered.

Is iOS capable of accessing and manipulating files on a Windows network file share?

I'm planning an app for work and venturing into potential features which I've not used before.
Essentially I need to be able to access files on a network share, read, write and delete files as well as amend the file names. As a pretty closed platform I'm not sure whether iOS is capable of such a thing and if it is, what features should I look for to begin researching?
My Google-Fu hasn't come up with anything thus far so hopefully looking for someone to point me in the right direction.
Thanks.
I know this isn't very secure, but I'd personally create an ASP.NET app on your target Windows Server, or a different Server on the domain. Create web services exposed, and make an iOS app with UIWebView. You can do RPC calls from the web service that do WMI/ADSI/File System manipulation. You can prompt for domain credentials, and do remote calls essentially is the gist.
You could expose the web app so that your app can access it from local network, or URL. If you were to access it from outside I'd suggest using some secure credentials in Windows/IIS.
Some years ago I created a "mobile-friendly" web app that allowed me to manage servers, perform RPC, and do basic Active Directory queries. Also allowed file listing and deletion/moving/copying with some creative scripting. It was essentially a ASP.NET/C# web app that loaded in a iPhone app. UIWebView in iOS was a able to load it, used AJAX and some other client side scripting that looked decent. You'd essentially have to make sure that your web app renders properly in Safari/UIWebView (which is bastardized safari).
Here's a link to a demo of what I created:
https://www.youtube.com/watch?v=czXmubijHwQ&t=12s
I ran it in a browser, but it'd run from my PSP, Android test devices, iPod Touch, Blackberry, etc.

File sharing solution with Ruby on Rails

I am working on a web application that will be used to securely share files between individuals. In terms of functionality what I deem important is easy file sharing, good ux, and secure storage. I want to integrate this functionality into my web application. I am working in the Ruby on Rails framework and have played around with carrierwave and Amazon S3 integration but I can't help but wonder if there is not a complete solution out there already.
My question thus is: Are there file sharing open source solutions or paid products out there which I can plug in to my web application that I should be investigating and not build the whole file sharing component from the start? I do not mind paying a fee for this software.
You could try https://github.com/mischa78/boxroom
Boxroom is a Rails application that aims to be a simple interface for
managing and sharing files in a web browser. It lets users create
folders and upload, download and share files. Admins can manage users,
groups and permissions.
Caplinked is a virtual data room provider that provides an API which will securely store and share your files / documents between individuals and groups. They also have a Ruby on Rails SDK which seems pretty easy to use. Check out their developer portal.

Secure Persistant Caching in an iOS Static Framework

I am currently in the process of writing a static iOS framework that connects developers to my API and returns to them objectified information at their user's requests. However, in order for this framework to be worthwhile, one of the requirements is that this framework must be able to cache the information locally and return an offline copy when a network connection is unavailable. I am aware that I can store this information in NSUserDefaults but there may be a case where the information that is cached may be private and the local developer should not be able to have access by guessing the proper key. I believe that best approach will involve some sort of encryption but I wanted to see if there were any other storage options available to a static framework other than NSUserDefaults.
I would like to keep my data in an objectified format if possible. Two solutions I would be interested in exploring would be to save my offline data in either SQLite or CoreData. However, with both of these approaches I am concerned about how these files would be stored in the framework (I already have an embedded framework) and the security issues of having the schema for these files available in the bundle for the developer to see.
Another solution that I am looking into would be to see if iOS supports any tools such as gzip that could be used to password protect my files until they are used by the framework.
Has anyone successfully overcome any of these issues? Is there anything else I should be looking into besides the previously mentioned possible solutions? Any advice will be warmly welcomed.
Thanks.
P.S. Does anyone know of any resources I could go read relating to iOS Security or static frameworks? Either would be very helpful.

Sqlite implementation for console Dart application

I'm wanting to test sqlite in dart, however the only implementation that I could find is by Sam McCall on Github, however it's out of date. While I could attempt to bring it up-to-date, I'm not very familiar with Dart yet.
I also read but haven't been able to confirm that sqlite access is provided in the VM, but only for non-html programs. The quote where I read that says "There may be additional problems, because the Dart executable now includes the sqlite library, as part of NSS (Network Security Services, from Mozilla), which is used to implement secure sockets in dart:io.". As I said, I'm not sure if this is correct.
I want to use sqlite with "dart:html", and "dart.io" can't be used with "dart.html", however using it in a console application would be a start.
While dart provides indexed_db, I don't see that as a replacement for sql. Also, while database access may be considered mainly a server-side requirement, there is obviously also the need on the client (eg. when offline etc.).
There would also be the possible problem of conversion to js, but that is not a concern of mine.
Any help with this would be much-appreciated.
As Ladislav mentions, you cannot use sqlite with dart:html, because browser-based apps can only access what the browser platform provides.
WebSQL is basically Sqlite. It still exists, is well supported on mobile, but the spec is dead. It should work fine if that's what you want.
For command-line Dart, you may want to check out SqlJocky, which is MySQL drivers for Dart command-line VM. Check it out here: https://github.com/jamesots/sqljocky
Hope that helps!

Resources