https://github.com/ChicagoBoss/ChicagoBoss/wiki/An-Evening-With-Chicago-Boss#ii9-how-to-actually-use-log-in-information

On Monday, June 8, 2015 at 10:38:29 PM UTC+3, Bryan Hunt wrote:
>
>
>
> Hi,
>
>
> I'm working away on my first Chicagoboss demo application, and I'm trying 
> to implement an identification, authorization, access workflow.
> ------------------------------
>
> I started by implementing a controller_filter:
>
>
> -module(training_filter).
>
> -export([before_filter/2]).
>
> before_filter(_FilterConfig, RequestContext) ->
>   SessionId = proplists:get_value(session_id, RequestContext),
> %%   Request = proplists:get_value(request, RequestContext),
>   lager:log(info, self(), " before filter invoked", []),
>   Action = proplists:get_value(action, RequestContext),
>   case boss_session:get_session_data(SessionId, username) of
>     undefined when Action == "login" ->
>       {ok, RequestContext};
>     undefined ->
>       lager:log(error, self(), " failed to grab user from 
> session/RequestContext ~p", [RequestContext]),
>       boss_session:set_session_data(SessionId, original_request_context, 
> RequestContext),
>       {redirect, "/login"}
>   end.
>
> ------------------------------
>
> I then implemented a (laughably) trivial login module:
>
>
> -module(training_security_controller, [Req, SessionID]).
> -compile(export_all).
>
> login('POST', []) ->
>   User = Req:post_param("username"),
>   Password = Req:post_param("password"),
>   lager:log(info, self(), "~p ~p", [User, Password]),
>   case Password of
>     "foo" ->
>       boss_session:set_session_data(SessionID, username, User),
>       OriginalRequestContext = boss_session:get_session_data(SessionID, 
> original_request_context),
>       %but I really want to replay the original request
>       {redirect, "/"}
>
>   ;
>     _ ->
>       boss_flash:add(SessionID, notice, "Login", "Bad credentials, try 
> again!"),
>       {ok, login}
>   end
> ;
>
> login('GET', []) ->
>   boss_flash:add(SessionID, notice, "Login", "Enter your password!"),
>   {ok, login}.
>
>
> What I would like to do is call the originally requested controller, with 
> the OriginalRequestContext taken from the session, and let it handle the 
> return/output.
>
> Is such a thing possible ? I've done some digging but can't find any 
> relevant examples.
>
>
> Thanks, 
>
>
> Bryan
>

-- 
You received this message because you are subscribed to the Google Groups 
"ChicagoBoss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at http://groups.google.com/group/chicagoboss.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/chicagoboss/8f55e96d-69ae-4fdf-95dc-422a597dccbd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to