タグ付けされた質問 「authentication」

認証は、身元を確認するプロセスです。


12
Ruby onRailsでの認証に最適なソリューション[クローズ]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善して再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 8年前に閉鎖されました。 RoRアプリケーションで使用できるビルド済みのソリューションを探しています。理想的には、電子メールの検証、サインアップコントロールを提供し、ユーザーがパスワードをリセットできるASP.NETフォーム認証に似たものを探しています。そうそう、現在アプリケーションにログインしているユーザーを簡単にプルできます。 私はすでに書かれた作品を調べ始めましたが、それは本当に混乱していることがわかりました。LoginGenerator、RestfulAuthentication、SaltedLoginGeneratorを見てきましたが、優れたチュートリアルがある場所やそれらの比較を提供する場所は1つもないようです。まだ発見していないサイトがある場合、またはほとんどの人が使用しているデファクトスタンダードがある場合は、助けていただければ幸いです。

7
Python urllib2、基本HTTP認証、およびtr.im
私は遊んでいて、tr.imAPIを 使用してURLを短くするコードを書こうとしています。 http://docs.python.org/library/urllib2.htmlを読んだ後、私は試しました: TRIM_API_URL = 'http://api.tr.im/api' auth_handler = urllib2.HTTPBasicAuthHandler() auth_handler.add_password(realm='tr.im', uri=TRIM_API_URL, user=USERNAME, passwd=PASSWORD) opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) response = urllib2.urlopen('%s/trim_simple?url=%s' % (TRIM_API_URL, url_to_trim)) url = response.read().strip() response.codeは200です(202になるはずです)。urlは有効ですが、短縮URLが私のURLリスト(http://tr.im/?page=1)にないため、基本HTTP認証が機能していないようです。 http://www.voidspace.org.uk/python/articles/authentication.shtml#doing-it-properly を読んだ後、私も試しました: TRIM_API_URL = 'api.tr.im/api' password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() password_mgr.add_password(None, TRIM_API_URL, USERNAME, PASSWORD) auth_handler = urllib2.HTTPBasicAuthHandler(password_mgr) opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) response = urllib2.urlopen('http://%s/trim_simple?url=%s' % …

9
依存性注入のPythonの方法は何ですか?
前書き Javaの場合、依存性注入は純粋なOOPとして機能します。つまり、実装するインターフェイスを提供し、フレームワークコードで、定義されたインターフェイスを実装するクラスのインスタンスを受け入れます。 これでPythonの場合も同じように実行できますが、Pythonの場合、この方法はオーバーヘッドが大きすぎると思います。では、Pythonの方法でどのように実装しますか? 使用事例 これがフレームワークコードだとしましょう: class FrameworkClass(): def __init__(self, ...): ... def do_the_job(self, ...): # some stuff # depending on some external function 基本的なアプローチ 最も素朴な(そしておそらく最良の?)方法は、外部関数をFrameworkClassコンストラクターに提供してから、do_the_jobメソッドから呼び出すことを要求することです。 フレームワークコード: class FrameworkClass(): def __init__(self, func): self.func = func def do_the_job(self, ...): # some stuff self.func(...) クライアントコード: def my_func(): # my implementation framework_instance = FrameworkClass(my_func) …

4
このユーザーが匿名であるか、実際にシステム上のユーザーであるかを確認するにはどうすればよいですか?
def index(request): the_user = request.user Djangoでは、それが実際のユーザーであるかどうかをどのように知ることができますか?私は試した: if the_user: ただし、「AnonymousUser」は誰もログインしていなくても存在します。したがって、常にtrueが返され、これは機能しません。

12
間違ったパスワードをチェックするのに、正しいパスワードをチェックするよりも時間がかかるのはなぜですか?
この質問はいつも私を悩ませてきました。 Linuxでは、パスワードの入力を求められたときに、入力が正しい場合は、ほとんど遅延なくすぐにチェックされます。ただし、その一方で、間違ったパスワードを入力すると、確認に時間がかかります。何故ですか? これは、これまでに試したすべてのLinuxディストリビューションで観察されました。

4
ASP.NETMVCの承認属性をオーバーライドする
ほとんどすべてのコントローラー(およびそれらのアクション)を承認する必要があるため、Authorize属性を適用したMVCコントローラー基本クラスがあります。 ただし、コントローラーと別のコントローラーのアクションを許可しないようにする必要があります。[Authorize(false)]か何かで飾れるようにしたかったのですが、これは利用できません。 何か案は?

5
Pythonurllib2の基本認証の問題
更新:Leeのコメントに基づいて、コードを非常に単純なスクリプトに凝縮し、コマンドラインから実行することにしました。 import urllib2 import sys username = sys.argv[1] password = sys.argv[2] url = sys.argv[3] print("calling %s with %s:%s\n" % (url, username, password)) passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, url, username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) req = urllib2.Request(url) f = urllib2.urlopen(req) data = f.read() print(data) 残念ながら、それでもAuthorizationヘッダーは生成されません(Wiresharkごとに):( urllib2を介して基本AUTHを送信する際に問題が発生しました。私はこの記事を見て、例に従いました。私のコード: passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, "api.foursquare.com", username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) …


1
ASP.NET MVC5でカスタム認証を実装する方法
ASP.NET MVC5アプリケーションを開発しています。既存のDBがあり、そこからADO.NETエンティティデータモデルを作成しました。そのDBに「username」列と「password」列を含むテーブルがあり、それらを使用してWebappに認証と承認を実装したいと思います。お客様の要件により、他のデータベース、テーブル、または列を作成できず、標準のID認証を使用できません。サインアップやパスワードの変更などを管理する必要はありません。パスワードとユーザー名でログインするだけです。どうやってやるの?

2
SAMLサービスプロバイダーになる方法
私の会社は現在、JavaWebアプリケーションを開発しています。いくつかのクライアントには内部SAMLサーバー(IDプロバイダー?)があり、それらとの統合を要求しています。それで最近、私はそれを読んで、OpenAMで遊んでいます。この約3日後、私はそれについて一般的な理解を持っていますが、私の知識にはまだいくつかのギャップがあります。私の希望は、誰かが私のためにこれを片付けることができることです。 これが、ユーザーがログインするワークフローを想像する方法です。 お客様のSAMLサーバーをhttps://their.samlserver.comとして定義しましょう。そのため、ユーザーは保護されたリソースを求めてWebアプリケーションにアクセスします。URLがhttp://my.app.com/somethingであるとしましょう。 したがって、私が正しければ、my.app.comはSAMLがサービスプロバイダーとして定義するものです。私たちのアプリケーションは、このユーザーがログインする必要があることを認識しています。次に、このようなページをユーザーに表示します... <script>JQuery Script to auto submit this form on ready</script> <form method="post" action="https://their.samlserver.com/Post/Servlet"> <input type="hidden" name="SAMLRequest" value="someBase64Data" /> <input type="submit" value="Submit" /> </form> そして、それsomeBase64Dataはbase64これのエンコードされたバージョンでなければなりません... <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="identifier_1" Version="2.0" IssueInstant="2004-12-05T09:21:59Z" AssertionConsumerServiceIndex="0"> <saml:Issuer>http://my.app.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/> </samlp:AuthnRequest> だから私の最初のカップルの質問。 ID値は何であると想定されていますか? そして、なぜ私は自分自身を発行者として宣言することができますか? IDプロバイダーは私について知っていますか?多分これは私がOpenAMで見ている信頼の輪です。そして、それが私について知っている場合、それはどのように私について知っており、何を知る必要がありますか? したがって、ユーザーがそのページを転送した後、IDPhttps : //their.samlserver.comによって提供されるページに移動します。彼らはそのページで認証し、IDPは認証を検証してユーザーを検索するのは魔法のようです。認証が成功した後、IDPはここで<samlp:Response>定義されたものを送り返します。 さらにいくつか質問があります。 まず、<samlp:Response>Webアプリケーションに戻って確認できるようにするにはどうすればよいですか? そして、それが成功したことを検証するために、その応答で何を探す必要がありますか?失敗はどのように見えますか? 現在、ユーザーを識別するために電子メールアドレス(LDAP)を使用しているため、おそらく応答からそれを取得して、現在と同じように使用します。その応答で私が注意しなければならない他の何か? …

3
asp.netコア3.1のテナントに基づく認証スキームを登録する
現在、デフォルトのクライアントIDとシークレットを備えた外部ログインプロバイダーを備えたIdentity Server 4 Webアプリケーションを作成しています。しかし、私の目標は、テナントに基づいてAzure、Google、Facebookなどの認証プロバイダーを登録することです。 私はSaasKitマルチテナンシーアセンブリを使用しましたが、ここではapp.usepertenant()ミドルウェアを試しました。ただし、UseGoogleAuthentication()メソッドは廃止されたため、このusepertenantミドルウェアを使用してマルチテナント認証を実現できませんでした。 現在のコード、 services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); 期待されるコードは以下のようです、 var authentication = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme); if (tenant.hasMicrosoft) { authentication.AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); } if (tenant.hasGoogle) { authentication.AddGoogle(option => { option.ClientId = …

6
コンピューターをスリープ状態にしたユーザーをWebサイトからログアウトさせる
これは奇妙なものです。私たちはLaravelのWebサイトを持っており、このサイトにはユーザーごとにタイマーがあり、起動する前に15分間非アクティブになります。 これは、reactコンポーネントのページにあるタイマーを介して行いますが、期待どおりに機能しますが、今では新しい問題があります。ユーザーがログインしてラップトップのふたを閉じると、Webサイトはそれらを起動するはずです。銀行がこれを行い、学校や大学がこれを行い、政府機関もこれを行います。したがって、それは可能です。 laravel-websocketsライブラリとEcho を使用して、Webソケットを使用します。私が見たいのは: ラップトップを閉じると、ログイン画面が表示されます。したがって、次にラップトップを開いてログインすると、ログイン画面にブラウザが表示されます。それはそれほど迅速に発生する必要はありませんが、基本的にページを更新するように指示する何かをフロントエンドに送信する方法が必要です。セッションが強制終了されると、15分のlaravelでセッションライフタイムを設定します。 一部の人々は他の同様の質問で提案しました: カスタムWebソケットハンドラーを作成するには (ブラウザの)セッションCookieをバックエンドのユーザーCookieと比較します。 フロントエンドでタイマーを実行するには(ラップトップの蓋を閉じるとタイマーが停止します) 最も人気のあるものは、Webソケットを使用していて、ユーザーが切断してから起動するのをリッスンしていますが、これで問題ありませんが、一時停止しているブラウザーにリクエストを送信してから起動するにはどうすればよいでしょうか。 requestIdleCallback()を見つけましたが、サイトにすでにハートビートタイマーがある場合は、これが必要だとは思いません。また、すべてのブラウザで機能するわけではありません。 私はこれを達成する方法についてここで非常に迷っています、私が与えることができる例は次のとおりです: 銀行にログインし、コンピューターをスリープ状態にして、15〜20分待ってからコンピューターを起動し、ログインして、銀行にログイン画面が表示されることを確認します。それが私が欲しいものです。しかし、私はそれを達成する方法を知りません。 バックエンドから「スリープ中」のブラウザにイベントを送信することはできません。はい、これはバックエンドのソリューションでなければなりませんが、フロントエンドを更新して、ラップトップを再起動したときにログアウト画面に表示されるようにする方法を教えてください。またはコンピュータ?

1
Spring Boot 2およびSpring Security 5を使用した多要素認証
Spring Boot Security Starterのデフォルトにできるだけ近づけながら、Angular&SpringアプリケーションにTOTPソフトトークンを使用した多要素認証を追加したいと思います。 トークンの検証はローカルで行われ(aerogear-otp-javaライブラリを使用)、サードパーティのAPIプロバイダーは使用されません。 ユーザーのトークンの設定は機能しますが、Spring Security Authentication Manager / Providersを利用してトークンを検証することはできません。 TL; DR 追加のAuthenticationProviderをSpring Boot Security Starter構成済みシステムに統合する公式の方法は何ですか? リプレイ攻撃を防ぐために推奨される方法は何ですか? ロングバージョン APIにはエンドポイント/auth/tokenがあり、そこからフロントエンドはユーザー名とパスワードを提供することでJWTトークンを取得できます。応答には認証ステータスも含まれ、AUTHENTICATEDまたはPRE_AUTHENTICATED_MFA_REQUIREDのいずれかになります。 ユーザーがMFAを必要とする場合、トークンは、許可された単一の権限PRE_AUTHENTICATED_MFA_REQUIREDと5分の有効期限で発行されます。これにより、ユーザーはエンドポイントにアクセスして/auth/mfa-token、AuthenticatorアプリからTOTPコードを提供し、完全に認証されたトークンを取得してサイトにアクセスできます。 プロバイダーとトークン 私はMfaAuthenticationProvider実装する私のカスタムを作成しましたAuthenticationProvider: @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { // validate the OTP code } @Override public boolean supports(Class<?> authentication) { return OneTimePasswordAuthenticationToken.class.isAssignableFrom(authentication); } そして、(署名されたJWTから取得した)ユーザー名とOTPコードを保持するようOneTimePasswordAuthenticationTokenに拡張AbstractAuthenticationTokenされたです。 構成 私は私のカスタム持ってWebSecurityConfigurerAdapter、私は私のカスタムを追加し、AuthenticationProvider経由しますhttp.authenticationProvider()。JavaDocによると、これは正しい場所のようです: 使用する追加のAuthenticationProviderを追加できます …

1
Pythonでスマートカードを使用するWebサイトでの認証
そのため、会社が提供する、チップ付きのクレジットカードのようなスマートカードを持っています。このカードは、カードがカードリーダーに挿入された後にWebサイトにログインします。 Requestsモジュールを使用してカードを読み取り、そのWebサイトにログインできるプログラムをPythonで作成する必要があります。この認証データをpythonスクリプトを使用してカードから取得し、このデータを使用する方法を見つけようとしましたが、部分的に成功しました。私はインストールしましたpyscard: from smartcard.System import readers from smartcard.util import toHexString r=readers() print(r) connection = r[0].createConnection() connection.connect() SELECT = [0xA0, 0x88, 0x00, 0x00] # CLA, INS, P1, P2 DF_TELECOM = [ 0x02, 0x7F, 0x10] # Lc, Data, Le data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM ) これまでのところ、データを送信し、カードから一部のデータを取得することができます。INSでコマンド88を送信しました(出典:ISO 7816)。これはある種の内部認証用です(この認証データはWebサイトへのログインに使用されると想定しています)が、以下の応答が返されます。 data = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.