1

PCIDSS 評価を完了しています。

要件では、パスワードは少なくとも 90 日ごとに変更する必要があり、以前の 4 つのパスワードのいずれとも異なるものにする必要があります。

これがサーバーへのアクセスのためなのか、サーバー上のユーザーに提供するアプリケーションへのアクセスなのかはわかりません。

後者の場合 - ASP.Net 3.5/4 Web アプリケーションと MVC4 Web アプリケーションでこれを強制する方法はありますか?

ありがとう、マーク

4

4 に答える 4

1

最初の要件として、Asp.Net メンバーシップには、次のようにログインにフックできるプロパティMembershipUser.LastPasswordChangedDateがあります。

        if (Membership.ValidateUser(userName, password))
        {
            MembershipUser theUser = Membership.GetUser(userName);
            if (theUser.LastPasswordChangedDate.Date.AddDays(90) < DateTime.Now.Date)
            {
                // Inform user password expired + redirect user to change password screen
            }
            FormsAuthentication.SetAuthCookie(userName, rememberMe);
        }

2 番目の要件 (つまり、最後の 4 つのパスワードと同じにすることはできません) は、自分で実装する必要があります。UserPasswordHistory提案では、ユーザーが自分のパスワードを変更するたびに挿入されるパスワード ハッシュを含む aspnet_User.UserId に戻る外部キーを持つ新しいテーブルを作成します。次に、新しいパスワードのハッシュを以前の 4 つのハッシュと比較し、それに応じて拒否できます。

于 2012-08-12T10:43:40.527 に答える
1

これは社内アプリケーション用ですか?その場合は、LDAP/Active Directory との統合を検討してください (ネットワーク パスワードに使用されていると仮定します)。これにより、パスワード ルールを処理できます (つまり、以前に使用されたものを追跡し、パスワードが十分に複雑で以前のものとは異なることを確認し、変更頻度を強制します)。また、ユーザーが複数のパスワードを覚えたり同期したりする必要がないことも意味します。

http://msdn.microsoft.com/en-us/library/ms180890(v=vs.80).aspx

于 2012-08-11T22:04:48.803 に答える
0

作成日とともに、パスワードを別のテーブルに保存できます。それはかなり簡単です

于 2012-08-11T21:57:18.177 に答える
-1

これがサーバーへのアクセスのためなのか、サーバー上のユーザーに提供するアプリケーションへのアクセスなのかはわかりません。

通常、PCIDSS はサーバーに重点を置いているため、これはサーバーへのアクセス用です。

于 2015-10-29T09:23:07.950 に答える