asp.net c中的安全页面

时间:2011-11-03 09:40:23

标签: asp.net security authorization

配置我有:

<configuration>
<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode ="Forms">
        <forms name ="loginpage" loginUrl="login_to_secure3700.aspx" />
    </authentication>
</system.web>
<location path ="securedpages/bob.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

这样,只有输入用户名和密码才能访问pag bob.aspx。 但是,这仅适用于页面bob.aspx,如何使这个工作例如50页,但所有具有不同的登录名和密码。 ?

3 个答案:

答案 0 :(得分:2)

有两种选择:

通过拒绝所有用户来保护每个页面,并且只允许bob.aspx上的bob和helen.aspx中的helen。鉴于上面的答案,您将确定这一点,但它很麻烦:对于每个新用户,您需要更改配置。

我认为更好的方法是创造一个! page(user.aspx)并获取登录的用户并为该用户个性化该单个页面。这样易于维护,您将在一个页面上拥有所有代码。

如果您想在页面名称(bob.aspx)中保留个性化方法,可以查看URL重写。

答案 1 :(得分:1)

您可以添加多条路径:

<location path ="securedpages/bob.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>
<location path ="securedpages/bob2.aspx">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

或者更简单,只需添加安全页面的目录:

<location path ="securedpages">
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
    </system.web>
</location>

答案 2 :(得分:0)

你可以将所有50个页面放在一个文件夹中,并在包含

的文件夹中为它们添加1个web.config
<configuration>
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
</configuration>

如果他们有不同的登录名和密码,则无关紧要。