1

私は現在asp.net mvcを勉強していますが、始めたばかりで、Webフォームからmvcに移行することにしました。

私はmvcミュージックストアのcodeplexからこのチュートリアルに従っていますが、このコード行がどのように使用されているのか、なぜ使用されているのか理解できません。

コードの行は次のとおりです。

if(!string.IsNullOrWhiteSpace(context.User.Identity.Name))
                {
                    context.Session[CartSessionKey] = context.User.Identity.Name;

                }

context.User.Identity.Name が何をするのか知りたいのですが、含まれている if ブロックを削除しようとしたが、アプリは引き続き機能するためです。

その関数の完全なコードは次のとおりです。

 public string GetCartId(HttpContextBase context)
        {
            if (context.Session[CartSessionKey] == null)
            {
                if(!string.IsNullOrWhiteSpace(context.User.Identity.Name))
                {
                    context.Session[CartSessionKey] = context.User.Identity.Name;

                }
                else
                {
                    // Generate a new random GUID using System.Guid class
                    Guid tempCartId = Guid.NewGuid();
                    // Send tempCartId back to client as a cookie
                    context.Session[CartSessionKey] = tempCartId.ToString();
                }
            }
            return context.Session[CartSessionKey].ToString();
        }
4

2 に答える 2

5

認証が必要な場合、Web フォームで行うのとまったく同じことを行います。ユーザーが正常に認証context.User.Identity.Nameされると、ログインした人のユーザー名が含まれます。

特定の例では、ユーザーが認証されていることを確認するだけですがRequest.IsAuthenticated、ユーザー名がnullまたは空白ではないかどうかを確認する代わりに確認する必要がありますが、その人のユーザー名を入力しますSession[CartSessionKey]

于 2013-01-09T18:41:34.933 に答える
1

次のリンクをご覧になることをお勧めします: http://support.microsoft.com/kb/301240

アプリケーションにセキュリティを実装し、メンバーシップ プロバイダーを学習します。ロールや、アプリケーションを安全に保つために非常に役立つその他のことを理解できるようになります。

于 2013-01-09T18:50:59.280 に答える