いまさら、asp.net のフォーム認証 だとは思いますが、asp.net を基礎から覚えたくて、勉強中です。
【開発環境】
OS:WIndows 10
Visual Studio 2015 Community
Web Forms
【実行環境】
Azure App Service
.NET Framework v4.7
フォーム認証で、「MOTOフォルダ内のページにアクセスするときは、認証を要求する。」という設定なのですが、[web.config]は下記のような設定にしています。
web.config
1 <authentication mode="Forms"> 2 <forms name="loginCookie" loginUrl="sign-in.aspx" protection="All" timeout="30" path="/" > 3 </forms> 4 5 </authentication> 6 7 <authorization> 8 <!-- すべて許可 --> 9 <allow users="*" /> 10 </authorization> 11 12 <location path="MOTO"> 13 <system.web> 14 <authorization> 15 <deny users="?" /> 16 </authorization> 17 </system.web> 18 </location>
sign-in.aspxで、認証後に要求元へのリダイレクトは、下記のようにしていますが、要求元がない状態場合の、sign-in.aspxで認証後のリダイレクト先は、どのように設定するのでしょうか?
sign
1 If sLoginID > 0 And Me.txtAccount.Text = sLoginName And Me.txtPassword.Text = sLoginPW Then 2 Session("LoginID") = sLoginID 3 4 '要求元へリダイレクト (要求元がないときは、Default.aspx) 5 FormsAuthentication.RedirectFromLoginPage(Me.txtAccount.Text, True) 6 Else 7 login_message.ForeColor = Drawing.Color.Red 8 login_message.Text = "認証に失敗しました。" 9 'MsgBox("認証に失敗しました。") 10 End If
【質問】
Web Formsアプリの Form認証を独自で判断した時の質問です。
ページ遷移は次のようになります。
フォルダ MOTO 内のPage1を表示しようとする。
サインインしていないので、sign-in.aspxにリダイレクトします。
sign-in.aspx ページで、認証するとサインイン時のページPage1を表示します。
ところが、sign-in.aspx ページを直接表示した場合は、認証後のリダイレクトするページの値がないので、Defalt.aspxページにリダイレクトします。
このように、認証後のリダイレクトするページの値がない場合の、ページ遷移先を指定することができるのでしょうか?
また、認証後のリダイレクトするページの値が、あるかないか判定を行うことができるのでしょうか?
初歩的な質問で申し訳ございません。
どなたか、ご教主お願いします。
いま、私が取り組んでいるプログラムのご紹介
Azure SQL と Access を使って、データを共有型して、自由にデータクラウド型のデータベースを作れるようなアプリを作成しています。
回答1件
あなたの回答
tips
プレビュー