Web サイトにフォーム ベースの認証を手動で実装したいと考えています。
Web.config
データストアにファイルを使用しています
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx"
name=".ASPXAUTH"
path="/"
requireSSL="false"
slidingExpiration="true"
defaultUrl="~/Admin/OrderHistory.aspx"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false"
>
<credentials passwordFormat="Clear">
<user name="Admin" password="adm123$"/>
<user name="Administrator" password="adm234%"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users ="?" />
<allow users = "*" />
</authorization>
Login.aspx
ASP.NET ログイン コントロールを使用してユーザー名とパスワードを取得するルート レベルのページがあります。
すべて正常に動作しますが、ユーザーがlogged in
手動でlogin.aspx
ページに移動すると、ユーザーは defaultUrl ページにリダイレクトされません。
ユーザーがログインしていて、手動で login.aspx ページにアクセスした場合、ユーザーを特定のページ/defaultUrl ページにリダイレクトしたい
どうやってするの?
ログインボタンクリック
if (FormsAuthentication.Authenticate(LoginUser.UserName, LoginUser.Password))
{
FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, true);
}