Q:

Restkit - Anyway to setup default action when 403 response received? 

Using Restkit, I've setup the RKObjectManager in my AppDelegate and everything is working fine.  I would like to know if there's some way to setup a default action for specific response codes. 
For example, a user uses my iPhone app to login to my api and gets an auth_token back to use.  If at any point, for any request, I get back I get a 403 response (like if the auth_token expires) I want to change the RootViewController to my login screen.  
What would be the best way to set this up in my app? 

A:

In RestKit 0.20 you can register your RKObjectRequestOperation, so you can pass all requests/responses through your own success/failure blocks before anything else. 
http://blog.higgsboson.tk/2013/09/03/global-request-management-with-restkit/
#import "RKObjectRequestOperation.h"

@interface CustomRKObjectRequestOperation : RKObjectRequestOperation

@end

@implementation CustomRKObjectRequestOperation

- (void)setCompletionBlockWithSuccess:(void ( ^ ) ( RKObjectRequestOperation *operation , RKMappingResult *mappingResult ))success failure:(void ( ^ ) ( RKObjectRequestOperation *operation , NSError *error ))failure
{
    [super setCompletionBlockWithSuccess:^void(RKObjectRequestOperation *operation , RKMappingResult *mappingResult) {
        if (success) {
            success(operation, mappingResult);
        }

    }failure:^void(RKObjectRequestOperation *operation , NSError *error) {

        [[NSNotificationCenter defaultCenter] postNotificationName:@"connectionFailure" object:operation];

        if (failure) {
            failure(operation, error);
        }

    }];
} 

@end

Then register your subclass:
[[RKObjectManager sharedManager] registerRequestOperationClass:[CustomRKObjectRequestOperation class]];

And listen for the "connectionFailure" you are sending above:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(connectionFailedWithOperation:) name:@"connectionFailure" object:nil];

In the listener (e.g. your AppDelegate or a login manager):
- (void)connectionFailedWithOperation:(NSNotification *)notification
{
    RKObjectRequestOperation *operation = (RKObjectRequestOperation *)notification.object;
    if (operation) {

        NSInteger statusCode = operation. HTTPRequestOperation.response.statusCode;

        switch (statusCode) {
            case 0: // No internet connection
            {
            }
                break;
            case  401: // not authenticated
            {
            }
                break;

            default:
            {
            }
                break;
        }
    }
}

A:

When using RestKit 0.10 you can use the given delegate method objectLoaderDidLoadUnexpectedResponse. 
- (void)objectLoaderDidLoadUnexpectedResponse:(RKObjectLoader *)objectLoader {
    if ([[objectLoader response] statusCode] == 403) {
        // Your action here
    }
}

In RestKit 0.20 you can use a response descriptor for a single code or a set of codes. 
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping 
                                                                                   pathPattern:nil 
                                                                                       keyPath:@"yourKeyPath" 
                                                                                   statusCodes:[NSIndexSet indexSetWithIndex:403]];

More status code sets in the documentation. 
Update
When using your BaseViewController for handling the errors of the request made in one of the other view controllers, you can set up notifications. 
BaseViewController
- (void)viewDidLoad 
{
    // ...

    // Set observer for notification e.g. "requestFailedWith403Error"
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handle403Error:) name:@"requestFailedWith403Error" object:self];
}

- (void)handle403Error:(NSNotification)notification 
{
    // Code for handling the error 
}

SubViewController
- (void)loginToServer 
{
    // ...

    // Set authorization header
    [[RKObjectManager sharedManager].HTTPClient setAuthorizationHeaderWithUsername:@"username" password:@"password"];

    // e.g. POST to server
    [[RKObjectManager sharedManager] postObject:yourObject
                                       path:@"path/toserver"
                                 parameters:nil
                                    success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
                                        // Handling success
                                    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
                                        // Handling error with notification
                                        [[NSNotificationCenter defaultCenter] postNotificationName:@"requestFailedWith403Error" object:self];
    }];
}

Too optimize your central configuration with the handling of errors you can have another look at the example code given in the RestKit Wiki (where the error mapping is added).