2016-04-27 7 views
0

私はリセットパスワードコードの作業中です。ユーザーがメールで送信したリセットパスワードのリンクをクリックすると、彼はアプリケーション内の自分のアカウントにリダイレクトされます。 私は今まで以下のことを行っています。webconfigのURLにセッションを追加する方法

<appSettings> 
<add key="RESET_PASSWORD" value="http://localhost:portnumber" /> 
</appSettings> 

私はRESET_PASSWORDのキーを格納するためのAppSettingsを使用し、文字列

string resetpassword = System.Configuration.ConfigurationManager.AppSettings["RESET_PASSWORD"].ToString(); 

にそれを渡されたと私は合格しているしている:私は、キーと値のペアにURLをハードコードしているWeb構成で この文字列をリセットパスワードのリンクに使用している<a href>タグに追加します。

は今、私はセッションIDを渡したいと直接ウェブの設定でこのような何かを:

<add key="RESET_PASSWORD" value="http://localhost:portnumber?uid=<%=Session("userId")%>" /> 

これは可能ですか?どうすればいいですか?これをやろうとすると "AppSettingsにはテキストを含めることができません"というエラーが表示されます。

答えて

0

cookieless="true"これは自動的に設定します。

sessionstate web.configに有効にする必要があります。

sessionState Element ConfigurationAbout Cookieless session in ASP.NET

EDITを参照してください:おっと!私はこの種の問題を誤解しています。

ASP.NET MVCを使用しているので、リセットされたパスワードページ(メールから開くページ)とコントローラの動作をマッピングすることをお勧めします。ユーザーIDとランダムに生成されたハッシュキーをGETパラメーターとして渡し、同じハッシュキーをデータベースに保存する必要があります。ユーザーがメールで提供されているこのリンクをクリックすると、データベースにユーザーIDとハッシュキーの組み合わせがあるかどうかを確認する必要があります。存在する場合、要求は有効なものです。その後、あなたはさらなるステップを進めることができます。

System.Guid.NewGuid()を使用すると、ランダムなハッシュキーを生成できます。この目的でセッションIDを使用しないでください。

関連する問題