[英]session in asp.net C#
基本上我有3页,登录页面,主页面和注册页面。
我的用户有2个访问级别,admin和User。
管理员可以转到注册帐户,而用户不能。
在登录页面上,有2个会话,名称和角色。
在页面加载时,我清除了两个会话。
如果登录成功,我填写了值。
我的问题是......
我以Admin,Session [“Name”] =“admin”登录; 会话[ “角色”] = “管理员”;
我转到主页,然后到超级链接的注册页面。 (仅为管理员启用)
在注册页面加载中,我检查了角色。 如果无法访问,我将重定向到主页。
每个页面都已注销超链接。
我将重定向该链接以登录页面。
当我在登录页面加载时清除会话值时,它们都是清除的。
当我进入“管理”页面时,我复制了URL。
我注销并以具有用户访问权限的其他人身份登录。
我去主页面。
由于超链接被禁用,我无法进入注册页面。
但是当我粘贴URL时,它可以转到注册页面。
仅当我单击某些内容时,它才会重定向到主页,因为page_load函数不是第一次运行。
任何想法?
从您的解释看来,这很有可能实际上是浏览器在缓存页面而不发送请求。 尝试在页面上打印用户名,看看当你再次点击网址时它会改变。 您也可以使用Firebug,IE9开发工具,Fiddler等工具查看请求是否已发送。
BTW考虑使用成员资格和角色提供程序,而不是在会话中添加内容( http://odetocode.com/articles/427.aspx )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.