ruby on rails 利用sorcery实现登录

gem 'sorcery', '~> 0.13.0'

登录页面

<%= simple_form_for @user,  url: backend_login_path do |f| %>
          <div class="form-group">
            <div class="form-label">
              用户名
            </div>
            <div class="form-input">
              <%= f.input :name, placeholder: "用户名", label: false, input_html: { required: 'required' } %>
            </div>
          </div>
          <div class="form-group">
            <div class="form-label">
              密码
            </div>
            <div class="form-input">
              <%= f.input :password, placeholder: "密码", label: false, input_html: { required: 'required' } %>
            </div>
          </div>
          <div class="form-group">
            <div class="form-label">
              &nbsp;
            </div>
            <div class="form-input">
              <input type="submit" value="登录" />
            </div>
          </div>
        <% end %>

登录路由

get  'login',  to: 'auth#new'
post 'login',  to: 'auth#create'
delete 'logout', to: 'auth#destroy'

登录

      def new 
        @user = User.new
      end

      def create
        @user = login(user_params[:name], user_params[:password])

        if @user
          session[:current_user_id] = @user.id
          redirect_to backend_friend_links_path
        else
          flash.now[:alert] = 'Login failed'
          redirect_to action: 'new'
        end
      end

      def destroy  
        logout
        redirect_to(:users, notice: 'Logged out!')
      end

      private 

      def user_params
        user_params ||= params.require(:user).permit(:name, :password)
      end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值