当前位置:编程学习 > C#/ASP.NET >>

关于后台权限功能在IE7下问题

环境:XP系统、浏览器IE7  开发架构:MVC3
功能实现:通过后台Tree菜单传递该用户权限信息,根据Session保存的用户去判断该用户是否拥有该菜单访问权限。
问题描述:每次请求后台 Controller中的方法,都会执行继承基类中的方法去校验当前用户权限,在FF IE7以上版本 此功能都没有问题,但是在IE7下 会出现如下问题,如我现在用管理员登陆  用户名admin 登陆成功后  管理员有编辑新闻的菜单权限  他请求的地址是可以正常解析出来的,把admin请求的Url复制下来后,切换用户为“张三”,张三是木有新闻编辑权限的,所以他看不到新闻编辑页面,此时复制管理员登陆后编辑新闻功能页面的Url,在IE7以上版本的浏览器中会正常提示“没有权限”,但是在IE7下 会把管理员编辑页面呈现出来,而且当前用户也显示的是管理员而不是张三。
问题定位:母版(_layout)视图使用的是@Razor中的 @RenderBody,正常请求URL可以访问到Controller 中 所对应的方法,而在IE7 由于母版引用了“左侧菜单”(LeftMenu) 可以在基类的方法中获得请求的是LeftMenu 所对应的Controller中方法,而没有访问Url地址栏复制过来的URL所对应的Controller中的方法,如果再按F5刷新则会正常、个人怀疑是由于IE7的缓存机制导致,也就是说我用管理员登陆后成功显示新闻编辑页面,在切换用户后,复制刚才成功访问的Url  其实没木有请求操作,而且IE7默认下 认为是做了回退操作,根据个人的推测,清除IE7下缓存,而且设置从不保存页面缓存,但是还会出现没有请求URL操作。
请教各位高人,是否有遇到过类似问题?解决的思路是?

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,