提示用户进行登录验证

时间:2012-05-08 06:44:30

标签: asp.net

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

3 个答案:

答案 0 :(得分:2)

审核ASP.NET's Membership, Roles, and Profile series是一个很好的起点。它涵盖了ASP.NET的所有安全部分和您所需的东西,登录之前通过LoginUrl作为您的登录页面访问该页面。开始这样做How To: Use Forms Authentication with SQL Server in ASP.NET 2.0

在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);
}

参考:

Starting ASP.NET Forms Authentication
ASP.NET Authentication Explained: Forms Authentication in ASP.NET 2.0

答案 1 :(得分:1)

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

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

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

有关详细信息,请查看here

答案 2 :(得分:1)

这是一个很大的主题,在此处发布代码示例,所以我建议按照以下步骤进行。

使用asp.net mvc3,了解会员提供商的工作方式,根据您的需求进行自定义,用户角色提供商将用户分配给您将用于保护网站特定区域的特定群组。

创建角色并将其分配给用户,之后您可以使用装饰的[授权]属性保护页面,或者为这样的选定用户提供安全保护

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

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

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