允许尚未注册的用户的注册页面

时间:2016-11-03 20:23:36

标签: asp.net authentication login registration

据我所知,当您想要对用户进行身份验证时,您需要将以下内容添加到webconfig中。

 <authorization>
        <deny users ="?" />
        <allow users = "*" />
      </authorization>

现在,我拥有了注册用户的所有代码,这些代码将用户成功插入我的数据库以及一个登录页面,只要在用户名和密码字段中插入了正确的凭据,就会检查并允许他们浏览。< / p>

我现在要做的是将“注册”按钮重定向到我的注册页面,但这与上面关于授权的代码冲突,我研究并发现需要做的是创建一个文件夹并在里面有registrarion.aspx页面,并使用以下参数为所述文件夹创建web.config文件。

 <authorization>
        <allow users = "*" />
      </authorization>

我的按钮具有重定向代码,一旦用户获得授权,其在每个其他页面中都有效,如下所示:

 Response.Redirect("Register.aspx", true);

然而,按钮不会重定向到注册页面,允许用户注册的其他方法是什么?

经过进一步调查,我发现以下代码可能与我想要做的事情相冲突

<td>Username:</td>
 <td><input id="txtUserName" type="text" runat="server"></td>
      <td><ASP:RequiredFieldValidator ControlToValidate="txtUserName"
           Display="Static" ErrorMessage="*" runat="server" 
           ID="vUserName" /></td>

要输入用户名和密码,即使webconfig允许非用户进入注册页面,这是否会影响重定向按钮?

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找这个。第一个<system.web>节点是每个Web.Config中的默认节点。在那里,您拒绝匿名用户使用<deny users="?"/>访问该网站。 但这也会阻止用户访问注册页面并在重定向循环中发送浏览器。 但您可以向Web.Config添加<location>节点,并允许匿名用户使用<allow users="?"/>访问注册页面。

<?xml version="1.0"?>
<configuration>
  <system.web>
    <globalization uiCulture="nl" culture="nl-NL" />
    <compilation targetFramework="4.5.1" />
    <httpRuntime targetFramework="4.5" executionTimeout="120" maxRequestLength="1024000" />
    <authentication mode="Forms">
      <forms cookieless="UseCookies" timeout="43200" loginUrl="/Register.aspx" defaultUrl="/Default.aspx" />
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
  <location path="Register.aspx">
    <system.web>
      <authorization>
        <allow users="?"/>
      </authorization>
    </system.web>
  </location>
</configuration>