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

请问这种情况下web.config文件该怎么写

根目录下一个子目录Mail,要求当用户访问目录Mail下的文件时,如果用户属于角色(Role) MailUser则允许访问,如果用户属于其他角色,那么将页面自动转移到Mail目录下的CreateMail.aspx目录。

注:无法在服务器上的IIS中将目录Mail设为虚拟目录。

根目录的web.config为:

    <authentication mode="Forms">
        <forms loginUrl="Login.aspx"></forms>
    </authentication>

    <location path="Mail">
        <system.web>
            <authorization>
                <allow roles="MailUser"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>

如果按照这个配置,当用户角色不属于MailUser时,页面会自动移动到根目录下的Login.aspx目录中(不管用户是否已经登陆),而不是\Mail\CreateMail.aspx

请问需要如何修改这个web.config才能满足条件? --------------------编程问答-------------------- 关注一下~ --------------------编程问答-------------------- 自己顶 --------------------编程问答-------------------- 已經到改web.comfig級的了
我還剛入門 --------------------编程问答-------------------- 根目录不用改,子目录修改config使得只有你的role才能访问,然后加个
<authentication mode="Forms">
<forms loginUrl="create.aspx"></forms>
</authentication>
然后把这个子目录配置成应用程序,iis-虚拟目录-子目录-右键属性-配置为应用程序
试一试 --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 感谢xiaotupansy(中)

我的问题是:由于服务器是租用的,我无法修改服务器的IIS设置,也就是说我不能把子目录设为虚拟目录。 --------------------编程问答-------------------- 再顶 --------------------编程问答-------------------- 那你就用session来判断好了 --------------------编程问答-------------------- 帮你顶一下

===================================================================
中国DotNet程序员俱乐部 -- www.willsft.com 

-- 中国最专业的DotNet技术社区!
===================================================================
--------------------编程问答-------------------- 这个问题似乎很难解决,或者根本没有解决的办法,微软似乎只提供了一层验证,只能在应用程序级别设置了在需要身份验证时的跳转页面,而在虚拟子目录无法再次启用身份验证重新制定跳转页面。所以就有许多的自定义验证。 --------------------编程问答-------------------- up
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,