用户未经过身份验证时,管理员文件夹中的页面不会重定向到登录页面(Windows窗体身份验证)

时间:2012-11-27 01:42:43

标签: asp.net

我是asp.net的新手,所以任何指针都会很棒 我的主要web.config代码,它连接到来自godaddy的sql数据库。

<configuration>
  <connectionStrings>
    <add name="XXXXXX" connectionString="Data Source=XXXXXX; Initial Catalog=AllMobileDB; User ID=XXXXXX; Password=XXXXXX@;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <system.web>
    <roleManager enabled="true"/>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <authentication mode="Forms">
      <forms loginUrl="login.aspx"/>
    </authentication>
    <membership defaultProvider="SqlProvider">
      <providers>
        <clear/>
        <add connectionStringName="XXXXXX" applicationName="/" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"/>
      </providers>
    </membership>
  </system.web>
  <system.net>
    <mailSettings>
      <smtp from="XXXXXX">
        <network enableSsl="true" host="smtp.gmail.com" userName="XXXXXX" password="XXXXXX" port="25"/>
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

我有一个名为admin的文件夹和一个名为adminpage的页面我通过网站管理工具设置用户名和文件夹访问

我的管理文件夹代码中的web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Adminstator" />
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>

它应该只允许登录的人查看该页面,但是现在任何人都可以访问它。不知道如何解决这个问题。谢谢。

3 个答案:

答案 0 :(得分:0)

尝试将拒绝元素更改为问号:

    <authorization>
        <allow roles="Adminstator" />
        <deny users="?" />
    </authorization>

答案 1 :(得分:0)

正确尝试拼写管理员:

<allow roles="Administrator" />

答案 2 :(得分:0)

设置位置元素

<system.web>
    <authentication mode="Forms">
      <forms loginUrl="Admin/login.aspx" defaultUrl="Admin/default.aspx"/>
    </authentication>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>

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