Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Get field from mnesia
- [{users, <<"user_name">>, <<"password">>}].
- mnesia:dirty_read({users, <<"user_name">>}).
- -module(auth).
- -export([init/1, add_user/2, start_session/2]).
- -record(auth_user, {username, password}).
- init(Nodes) ->
- mnesia:create_table(auth_user,
- [{disc_copies, Nodes},
- {attributes, record_info(fields, auth_user)}]).
- add_user(Username, Password) ->
- T = fun() ->
- mnesia:write(#auth_user {
- username = Username,
- password = Password})
- end,
- mnesia:transaction(T).
- start_session(Username, Password) ->
- T = fun() ->
- mnesia:read(auth_user, Username)
- end,
- {atomic, Ret} = mnesia:transaction(T),
- case Ret of
- [U] ->
- if (U#auth_user.password == Password) ->
- true;
- true ->
- false
- end;
- _Else ->
- false
- end.
- -module(auth).
- -export([init/1, add_user/2, start_session/2]).
- -record(auth_user, {username, password}).
- init(Nodes) ->
- mnesia:create_table(auth_user,
- [{disc_copies, Nodes},
- {attributes, record_info(fields, auth_user)}]).
- add_user(Username, Password) ->
- T = fun() ->
- mnesia:write(#auth_user {
- username = Username,
- password = Password})
- end,
- mnesia:transaction(T).
- start_session(Username, Password) ->
- T = fun() ->
- mnesia:read(auth_user, Username)
- end,
- {atomic, Ret} = mnesia:transaction(T),
- case Ret of
- [U] ->
- if (U#auth_user.password == Password) ->
- true;
- true ->
- false
- end;
- _Else ->
- false
- end.
- -module(auth).
- -export([init/1, add_user/2, start_session/2]).
- -record(auth_user, {username, password}).
- init(Nodes) ->
- mnesia:create_table(auth_user,
- [{disc_copies, Nodes},
- {attributes, record_info(fields, auth_user)}]).
- add_user(Username, Password) ->
- T = fun() ->
- mnesia:write(#auth_user {
- username = Username,
- password = Password})
- end,
- mnesia:transaction(T).
- start_session(Username, Password) ->
- T = fun() ->
- mnesia:read(auth_user, Username)
- end,
- {atomic, Ret} = mnesia:transaction(T),
- case Ret of
- [U] ->
- if (U#auth_user.password == Password) ->
- true;
- true ->
- false
- end;
- _Else ->
- false
- end.
- Eshell V5.8.3 (abort with ^G)
- 1> mnesia:create_schema([node()]).
- ok
- 3> mnesia:start().
- ok
- 4> auth:init([node()]).
- {atomic,ok}
- 5> auth:add_user("rodericktaylor", "password").
- {atomic,ok}
- 6> true = auth:start_session("rodericktaylor", "password").
- true
- 7>
- start_session_dirty(Username, Password) ->
- case mnesia:dirty_read(auth_user, Username) of
- [U] ->
- if (U#auth_user.password == Password) ->
- true;
- true ->
- false
- end;
- _Else ->
- false
- end.
- 12> auth:add_user(<<"rodericktaylor">>, <<"binarypassword">>).
- {atomic,ok}
- 14> true = auth:start_session_dirty(<<"rodericktaylor">>, <<"binarypassword">>).
- true
- 15>
Add Comment
Please, Sign In to add comment