0

ruby on railsを勉強中です。

ログインして投稿を編集するために認証するためのこのコードを白くしていますが、ログアウトの方法がわかりません。ログインしかできず、ログアウトできません。助けてください

class PostsController < ApplicationController

http_basic_authenticate_with :name => 'admin', :password => 'meteoro', :except => [:index, :show]
# GET /posts
# GET /posts.json
def index
@posts = Post.all

respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @posts }
end
end

ありがとう

4

3 に答える 3

0

クライアントにAuthorization別のヘッダーでリクエストを強制的に配置することにより、ヘッダーを失うように強制する必要があります

/logout ビューで、jQuery ajax 呼び出しを使用して実行した方法は次のとおりです。

$.ajax({ 
  url : '/empty_200_page', 
  method : 'GET', 
  beforeSend : function(req) { 
    req.setRequestHeader('Authorization', 'nope'); 
  } 
});
于 2014-11-05T23:41:55.937 に答える
-1

HTTPはステートレスであるため、特定の要求に対して「ログイン」するのは、実際にはブラウザー(クライアント)とサーバーの規則です。 この投稿の回答を確認してください。重要なのは、認証が完了すると、サーバーがAuthorizationヘッダーで応答し、ブラウザーがそれを返すことです。コントローラーのヘッダーを手動でクリアするには、次のような操作を行うrequest.headers['Authorization'] = ''必要があります。

于 2012-11-08T23:11:54.877 に答える
-1

デフォルトでは、入力した資格情報は静的ヘッダーに保存され、システムからログアウトする方法は事実上ありません...

このウィキペディアのエントリを読むhttp://en.wikipedia.org/wiki/Basic_access_authentication#Disadvantages

于 2012-11-09T06:31:22.157 に答える