繁体   English   中英

asp.net中的会话C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM