ASP.NET MVC3で遊んでいて、単純なサインアップ'フォーム'を実行しようとしています。さて、キッカーは私がそれを2つのステップを持つウィザードにしようとしているということです。
- Facebook / Twitter / YourFavOpenIdプロバイダーで認証します。
- 不足しているデータ(メールアドレスや名前など)を入力します。
ステップ1は100%うまく機能します:)だから心配しないでください。ステップ2は私が質問をするところです。
だから質問に:-
- ビューは強く型付けされています。モデルはポコ
USER
です。ICollection<string>
OpenIdがあります。Razerビューに最初のものだけを表示したいと思います。(これはステップ1で設定されました)。
例えば。
<div class="editor-label">
<label for="Identifier">Identifier</label>
</div>
<div class="editor-field">
@Html.LabelFor(x => x.OpenIds.FirstOrDefault())
</div>
しかし、それは私に次の邪悪なエラーを与えます:-
テンプレートは、フィールドアクセス、プロパティアクセス、単一次元配列インデックス、または単一パラメーターのカスタムインデクサー式でのみ使用できます。
第二に、私が考慮すべきセキュリティの実装があるかどうかはわかりません..これはSignUp
いくつかの点でウィザードであるため-ユーザーがステップ2(つまり)に直接ジャンプしHTTP-GET /authentication/new
てOpenIdを提供していない可能性はありませんIDまたはいずれか1つを提供します..しかし、最初のステップ(ユーザーをOpenId Webサイトに送り、再びここに戻る)をスキップしたため、認証を回避しました。このタイプのハッキングから保護するには、どのような手順を実行する必要がありますか?ステップ1またはステップ2のどちらでも属性を使用できません。これ[Authorize]
は、ステップ2の最後にあるためHTTP-POST /authentication/create
です(つまり)FormsAuthentication.SignIn(..)
。
ふぅ!それは理にかなっていますか?
乾杯 :)