C# · 12月 30, 2021

c# – 如何在基于表单的身份验证中检查用户是否登录

我想在我的网站手动实施基于表单的身份验证.

我正在使用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登录控件获取用户名和密码.

一切正常,但当用户登录并手动进入login.aspx页面时,它不会将用户重定向到defaultUrl页面.

我想将用户重定向到特定页面/ defaultUrl页面,如果他已经登录并手动进入login.aspx页面

怎么做?

登录按钮单击

if (FormsAuthentication.Authenticate(LoginUser.UserName,LoginUser.Password)) { FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName,true); }解决方法 if(HttpContext.Current.User.Identity.IsAuthenticated) { //Redirect to Default page Response.Redirect(“default.aspx”); }