Asp.net 表单身份验证
在我的 web.config 中,我有这个:
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" path="/" timeout="30"/>
</authentication>
<sessionState timeout="20" />
</system.web>
<location path="admin">
<system.web>
<authorization>
<deny users="*"/>
<allow users="admin"/>
</authorization>
</system.web>
</location>
我有两个问题:
在我的管理路径中,我只希望管理员用户具有访问权限,但我找不到方法来执行此操作。如何使只有管理员用户具有访问权限?
即使我尝试使用cookie,用户也总是会被注销,所以他不应该被注销。在我的 login.aspx 中,当用户有效时,我有以下代码:
FormsAuthentication.RedirectFromLoginPage(用户, CheckBoxPersistCookie.Checked);
如何使用户保持登录状态?
In my web.config I have this:
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" path="/" timeout="30"/>
</authentication>
<sessionState timeout="20" />
</system.web>
<location path="admin">
<system.web>
<authorization>
<deny users="*"/>
<allow users="admin"/>
</authorization>
</system.web>
</location>
I have two problems:
In my admin path I want only the admin user to have access but I can't find a way to do this. How can I make only the admin user have access?
The user always gets logged out even if I try to use cookies so he shouldn't be logged out. In my login.aspx I have the folloing code when the user is valid:
FormsAuthentication.RedirectFromLoginPage(user, CheckBoxPersistCookie.Checked);
How can I make the user to stay logged in?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试将
行放在
行之上。try putting the
<allow>
line over the<deny>
line.据我了解,您的身份验证 cookie 中有 30 分钟超时,会话 cookie 中有 20 分钟超时。看来会话将在 20 分钟后过期,那么也无法使用身份验证 cookie。
如果你想让用户保持登录状态,那就有点棘手了。我知道可以使用 javascript 和不可见的 iframe 来实现它。例如,您需要每 5 分钟重新加载一次 iframe。您的会话将实时进行并更新本地 cookie。
As I understand you have 30 mins timeout in your authentication cookie and 20 minutes in your session cookie. It seems that as session will expire in 20 minutes then it will be impossible to use authentication cookie too.
It is a little tricky if you want to leave user logged in. I know that it is possible to implement it using javascript and invisible iframe. You need to reload iframe every 5 minutes for example. Your session will be live and local cookies updated.