0

ASP.NET:我创建了一个带有登录身份验证的网站。在用户可以访问其中的任何页面之前,他需要先登录。如何提示用户先登录,然后才能查看网站的任何内容?

4

3 回答 3

2

检查ASP.NET 的成员资格、角色和配置文件系列是一个很好的起点。它涵盖了 ASP.NET 的所有安全部分以及您所需的东西,在访问该页面之前LoginUrl登录作为您的登录页面。开始执行此操作方法:在 ASP.NET 2.0 中将表单身份验证与 SQL Server 一起使用

在 web.config 中进行一些设置,然后在后面的代码中处理这些事情。

<forms name=".ASPXAUTH" loginUrl="login.aspx" 
       defaultUrl="default.aspx" protection="All" timeout="30" path="/" 
       requireSSL="false" slidingExpiration="true"
       cookieless="UseDeviceProfile" domain="" 
       enableCrossAppRedirects="false">
    <credentials passwordFormat="SHA1" />
</forms>

在 Web.config 文件中的元素下添加以下元素。这允许所有经过身份验证的用户访问您的网站。

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

后面的代码

if (Membership.ValidateUser(username, password))
{
    // User has supplied valid credentials

    // In the following method call, the second Boolean parameter 
    // determines whether a persistent authentication cookie
    // is created.

    FormsAuthentication.RedirectFromLoginPage(username, rememberMeIsChecked);
}

参考:

启动 ASP.NET 表单身份验证
ASP.NET 身份验证 解释:ASP.NET 2.0 中的表单身份验证

于 2012-05-08T06:56:04.283 回答
1

尝试在您的 web.config 中执行此操作

如果我们要拒绝匿名用户的访问,请按以下方式配置 Authorization 部分,

<configuration>
    <system.web>
        <authentication mode="Forms"/>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>

欲了解更多信息,请看这里

于 2012-05-08T06:48:44.213 回答
1

这是在此处发布代码示例的巨大主题,因此我建议执行以下步骤。

使用 asp.net mvc3,了解会员提供程序如何工作,根据您的需要对其进行自定义,用户角色提供程序将用户分配到特定组,您将使用这些组来保护站点的特定区域。

创建角色并将其分配给用户,之后您可以使用修饰的 [Authorize] 属性保护页面或像这样保护选定用户

 [Authorize(Roles = "Admin, Super User")]

在配置 system.web 部分中使用您的 web.config 来指示应用程序中使用的成员资格和角色提供者。

这是简短的信息,但我希望你现在有简洁的心理画面。

于 2012-05-08T07:13:18.303 回答