C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■87440  Re[4]: 条件により類似のモーダルフォームを切り替える
□投稿者/ 魔界の仮面弁士 -(2018/05/22(Tue) 13:41:40)
    No87437 (うるち米 さん) に返信
    >  'Using' オペランドは System.IDisposable を実装しなければなりません。

    あー…。すみません。

    案1 の場合、たとえばこんな実装になります。
    VB のバージョンにもよりますけど。

    Using f As IExampleDialog = New Form1
     If f.ShowDialog(Me) <> DialogResult.Cancel Then
      MsgBox(f.Prop1)
     End If
    End Using


    Public Interface IExampleDialog
      Inherits Global.System.IDisposable
      Function ShowDialog(owner As Global.System.Windows.Forms.IWin32Window) As Global.System.Windows.Forms.DialogResult
      Property Prop1 As String
      以下略
    End Interface

    Public Class Form1
      Inherits Global.System.Windows.Forms.Form
      Implements IExampleDialog
      Private Function IDialog_ShowDialog(owner As Global.System.Windows.Forms.IWin32Window) As DialogResult Implements IExampleDialog.ShowDialog
        Return MyBase.ShowDialog(owner)
      End Function
      Public Property Prop1 As String Implements IExampleDialog.Prop1
      以下略
    End Class


    案 2 の方は

     Public MustInherit Class DialogBase
      Inherits Global.System.Windows.Forms.Form
      Public MustOverride Property Prop1 As String
      Public MustOverride Property Prop2 As Integer
      Public MustOverride Property Prop3 As Boolean
     End Class

    を用意しておいて、Form1 / Form2 がこの DialogBase を Inherits するという形になります。


    > インタフェースのメンバを参照する際にIExampleDialog にキャストしたものを用意する、
    その場合、IExampleDialog を実装していないフォームに備えて、
    TryCast 呼びにする必要がありそうです。
記事No.87426 のレス /過去ログ150より / 関連記事表示
削除チェック/

■96410  Re[9]: 初回認証時の判断
□投稿者/ WebSurfer -(2020/11/20(Fri) 18:31:58)
    No96408 (naomin さん) に返信

    ExpireTimeSpan と SlidingExpiration をどう設定するのですか? それによって話は変わってきますが。

    例えばセキュリティ重視で ExpireTimeSpan は 30 分、SlidingExpiration は無効に設定すれば、使い方
    によってログイン回数に大差は出ないので、Login ページでログインしたら 1 回とカウントするだけで
    よさそうです。

    しかし、デフォルトの ExpireTimeSpan 14 日、SlidingExpiration 有効のままにしておくと話は違って
    きます。

    > @ログインページ(/Account/Login)でID、パスワードを入力してログインすると1回ログインとしてカウント。

    セキュリティを気にする人は必ずログアウトしたり履歴/クッキーを削除する反面、何も気にしない人は
    ログインしっぱなし&一日中ブラウザを立ち上げっぱなしにするかもしれません。

    なので、「1回ログインとしてカウント」の回数の意味が人によって違ってくるはずで、何らかのウェイ
    ティングをかけけないと数字に意味がなさそうに思うのですが。

    そんなことは考える必要は無くて、とにかく 1 回ログイン操作をしたらカウントということで良いの
    ですか?

    > A前回ログイン時にRememberMeにチェックしていた場合、新規にブラウザを起動してサイトにアクセス
    > したら1回ログインとしてカウント

    RememberMe にチェックするということは、認証クッキーを応答ヘッダに入れてクライアントに送る際
    expires=...; が付与される、即ちクッキーが HDD/SSD に保存されるので、ブラウザを閉じても次に
    アクセスする際 HDD/SSD からクッキーを取得して送信するのでログイン操作が不要になるということ
    です。

    一方、チェックを入れない人はブラウザを閉じるたびクッキーは失われるので、次にアクセスする際
    ログインしなければなりません。

    ExpireTimeSpan 14 日、SlidingExpiration 有効にしておくと、RememberMe にチェックを入れた人は
    将来ずっとログイン操作はしなくて済かもしれません。

    それ考えて、質問者さんは、RememberMe にチェックをいれたユーザーは「新規にブラウザを起動して
    サイトにアクセス」を 1 回とカウントと考えたのだと思います。

    そのウェイティングが適当かの議論は置いといて、新規にブラウザを起動したかどうかはサーバー側
    では分からないという問題があります。

    それはどうするのでしょう?
記事No.96393 のレス /過去ログ167より / 関連記事表示
削除チェック/

■96411  Re[10]: 初回認証時の判断
□投稿者/ naomin -(2020/11/20(Fri) 20:31:21)
    No96410 (WebSurfer さん) に返信

    何度もありがとうございます。

    > しかし、デフォルトの ExpireTimeSpan 14 日、SlidingExpiration 有効のままにしておくと話は違って
    > きます。

    すみません。大前提の説明が出来てませんでした。
    ExpireTimeSpan 14 日、SlidingExpiration 無効化、の状態が前提です。


    > それ考えて、質問者さんは、RememberMe にチェックをいれたユーザーは「新規にブラウザを起動して
    > サイトにアクセス」を 1 回とカウントと考えたのだと思います。
    >
    > そのウェイティングが適当かの議論は置いといて、新規にブラウザを起動したかどうかはサーバー側
    > では分からないという問題があります。

    新規にブラウザを起動したかどうかについては、
    サイトに初回アクセスしたときに動作するメソッド内でログ取りの処理が埋め込めれば良いのではないか
    と考えていました。
    そして、そもそも認証チケットのチェックをしているロジックがどこかにあるはず、と探していました。


    それで最初の、以下の質問となりました。
    > その為、Startup.Auth.csやStartup.csでHttpContext.Current.Userを使えれば、
    > HttpContext.User.Identity.AuthenticationType
    > や
    > HttpContext.User.Identity.IsAuthenticated
    > で
    > 認証状況を確認できるかと考えたのですが、HttpContextを参照すると


    結果、見当違いとのことで、また最初から調べなおしかぁ・・・と途方にくれていたところです。

記事No.96393 のレス /過去ログ167より / 関連記事表示
削除チェック/

■97030  Re[3]: 【C#】メソッドから自分自身に代入する方法
□投稿者/ 魔界の仮面弁士 -(2021/03/17(Wed) 15:55:06)
    No97026 (tees さん) に返信
    > // メソッド
    > public Method(int a)

    それはメソッドの構文では無いですよね。
    必要なのはどちらですか?

    public void Method(int a)
    public Test Method(int a)


    No97028 (tees さん) に返信
    > this(自分自身)に反映させたいのが目的になります。

    今回の実装だと、
     public void Method(int a) => A = a;
    で良いのでは。
記事No.97026 のレス /過去ログ168より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -