求助!Web.config在编译环境下和在IIS下的问题
本帖最后由 sarah_jing 于 2013-03-05 11:21:17 编辑
我要做一个权限限制,于是在web.config+web.sitemap这种方法
在web.config中用
<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
<providers>
<add name="XmlSiteMapProvider" description="Default SiteMap provider." type="System.Web.XmlSiteMapProvider " siteMapFile="web.sitemap" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
<roleManager enabled="true" defaultProvider="OAProvider">
<providers>
<add connectionStringName="OaSystemConnectionString" name="OAProvider" type="OA.OARoleProvider"/>
</providers>
</roleManager>
<membership defaultProvider="OAProvider">
<providers>
<add connectionStringName="OaSystemConnectionString" applicationName="OA" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" name="OAProvider" type="OA.OAMembershipProvider"/>
</providers>
</membership>
详细的权限用:
<location path="shzx">
<system.web>
<authorization>
<allow roles="shzx"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="FaceTemplate/Default.aspx">
<system.web>
<authorization>
<allow roles="clshdj"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
这样的设定方式来进行权限配置。在VS2010中编译下,菜单权限都显示正常,但是在IIS中,完全显示不出来菜单了,我把后面具体的权限那块注释掉,菜单就可以出现了,请问该如何配置IIS,让菜单能出现呢
iis
authorization
web.config
------解决方案--------------------调用的类有问题吧。
------解决方案--------------------
那就是说明IIS的环境与调试时的环境不同。
------解决方案--------------------那你权限就不要放在web.config里,
另外弄个XML文件写不就可以了呢?
------解决方案--------------------不理解你为什么这么搞,可能有自己分析。
既然在IIS有问题,你用vs自己打开那个iis项目 看看什么结果。如还不行把值读到程序里看看。