f8515b126552 — Bill Welliver 16 years ago
updates for authentication handler
2 files changed, 7 insertions(+), 3 deletions(-)

M auth/README
M auth/classes/auth/controller.pike
M auth/README +5 -3
@@ 9,18 9,20 @@ static void start()
   before_filter(app->admin_user_filter);
 }
 
-Where admin_user_filter is a method that looks like:
-
+Where admin_user_filter is a method in your main application class
+that looks like:
 
 int admin_user_filter(Fins.Request id, Fins.Response response, mixed ... args)
 {
    if(!id->misc->session_variables->user)
    {
       response->flash("msg", "You must login to perform this action.");
-      response->redirect(app->controller->auth->login, 0, ([ "return_to": id->not_query ]));
+      response->redirect(controller->auth->login, 0, ([ "return_to": id->not_query ]));
       return 0;
    }
 
    return 1;
 }
 
+You should edit classes/auth/controller and edit the two user modifyable methods to 
+fit your application's data model.

          
M auth/classes/auth/controller.pike +2 -0
@@ 102,6 102,8 @@ public void login(Request id, Response r
            // success!
            id->misc->session_variables->logout = 0;
            id->misc->session_variables["user"] = r;
+           if(arrayp(id->variables->return_to))
+             id->variables->return_to = id->variables->return_to[0];
            if(search(id->variables->return_to, "?") < -1)
              id->variables->return_to = id->variables->return_to + "&" + time();
            else