asp.netwebformsプロジェクトがあります。そこでは、「管理者」が画面にアクセスして、新しいユーザー(CreateUser.aspx)を作成するフォームを送信することができます。
そのユーザーの権限が後で管理者未満に変更された場合、そのユーザーはその画面にアクセスして新しいユーザーを作成できなくなります。ただし、管理者だったときから新しいユーザーを作成するための正確なWebリクエストを保存した場合は、これを再生して新しいユーザーを作成できます。
ランダムな人がこのフォームを送信することはできませんが、アクティブなセッションIDを推測しない限り(各フォーム送信でチェックされるのはそれだけです)。
CreateUserは、管理機能の多くの例の1つです。ユーザーがこれらの異なるフォーム送信のそれぞれの管理者であることを検証するためのこれに対する適切な解決策はありますか(asp.netでこれを行うためのクリーンな方法がわかりません)?または、ログアウト時にセッションを期限切れにして、セッションIDを再利用しないことは許容されますか?asp.netには、このタイプの攻撃から保護するためのその他のセキュリティ機能が組み込まれていますか?