zoukankan      html  css  js  c++  java
  • Web页面访问权限

    前些天,给客户的网站做更新部署时,因为只修改了aspx页面,没有改.cs的代码,就想让客户协助部署下。

    客户用新的aspx页面替换原来的后,发现导航中关于这个页面的链接没有。期间还对数据进行了垃圾数据的清理。开始觉得很奇怪,那个导航没有做权限控制呀,怎么会看不见。又让客户把备份的原来的文件还原回去,导航中还不出现那个链接。

    开始怀疑是否客户不小心清除了有用的数据?还是代码中以前隐藏的bug爆发了?

    开始自己查看了下导航相关的代码,确认代码没有问题。实现过程就是通过sitemapprovider读取sitemap数据,自己code实现表现,其中也没有权限控制。 自己这里发布的网站没有问题,只好去客户现场查看原因了。

    到客户现场后,把网站由原来的windows验证改成Forms后,登录网站没有问题。又改成windows验证,请客户登录后,导航还是不显示相应的链接。因为知道页面链接,直接在浏览器地址栏敲了,敲完后回车,提示没有权限。

    网站的web.config的权限是没有问题的,那只可能是windows权限的问题了。查看文件的属性的安全标签页,果然和其他的文件的访问的权限不一样。修改该文件的访问权限(继承父文件夹权限)后,网站导航中出现了该页面的链接。问题解决了!

     以前部署网站时,也是复制文件进入。怎么这次文件的安全改变了?不同就是以前是发布网站后,复制文件。这次是直接复制VSS中的aspx页面,使用邮件附件发给客户的。 自己用虚拟机做了实验后,没有出现上述问题。有些奇怪?

    asp.net页面权限在web.config可以配置,也可以在单独文件夹下添加web.config 做单独的权限限制。

    Sitemap会根据当前登录人的角色和web.config的配置,判断该用户是否有权限访问页面,以决定是否现实该页面的链接。

     没有想到如果windows权限不够,Sitemap也会隐藏该页面的链接。

  • 相关阅读:
    国外保健品品牌介绍
    海淘第一单
    表查询语句与方法
    表与表关系
    表完整性约束
    表字段数据类型
    存储引擎
    数据库之MySQL基本操作
    MAC重置MySQL root 密码
    进程池、线程池、协程
  • 原文地址:https://www.cnblogs.com/qishichang/p/1633555.html
Copyright © 2011-2022 走看看