gpt4 book ai didi

asp.net 成员(member)资格 - sql 身份验证

转载 作者:行者123 更新时间:2023-12-02 16:55:37 24 4
gpt4 key购买 nike

我想知道在新网站中设置成员(member)资格的“正确”方法是什么。

当我有新项目时,我可以转到网站/ASP.NET 配置。在那里我可以设置表单例份验证并管理将使用此页面的所有用户。我可以在文件夹上制定角色和规则。所有这些信息都保存到表中,该表将本地保存在数据库 App_Data/ASPNETDB.MDF 中。我想做的是,所有这些信息都将与网站一起位于主机服务器上,但不在本地。

将我在本地创建的网站连接到中央 mssql 服务器的最佳方式是什么。我希望能够进入 asp.net 配置并管理用户,但我希望将数据保存在 mssql 服务器上的表中,而不是保存在 aspnetdb.mdf 文件中。

我已经使用 aspnet_regsql.exe 文件在 mssql 服务器上创建了 asp.net 成员资格表。

更新:没关系,我找到了解决这个问题的方法。只需添加 <remove name="LocalSqlServer"/><ConnectionStrings>然后是我自己的连接字符串。现在它正在工作......

最佳答案

Visual Studio SDK 中有一个名为“aspnet_regsql”的行命令。它会打开一个窗口,您可以使用它在任何 SQL Server 数据库中设置 ASP.NET 成员资格、角色和配置文件支持。

对于大多数应用程序,您可能最终会编写自己的成员(member)管理页面。这并不难,您需要的大部分控件都在 Visual Studio 的工具箱中。这是我在安全演示中给出的食谱:

要将 ASP.NET 成员身份和角色添加到现有 SQL Server 数据库:

  1. 打开 Visual Studio 2008 命令窗口。

    (如果您必须在管理员模式下运行 SQL 行命令,您将需要以管理员模式打开命令行,然后将路径设置为包括 Visual Studio SDK 可执行文件。)

  2. 在该命令窗口中运行 aspnet_regsql。

  3. 对于将使用数据库的 SQL 用户登录名,添加一个或多个以下成员(member)提供者角色:

    aspnet_Membership_FullAccess - 如果用户可以自己或其他人注册aspnet_Membership_BasicAccess - 用户无法自行注册aspnet_Membership_ReportingAccess - 用于成员(member)统计

  4. 对于 SQL 用户登录,添加以下一个或多个角色提供者角色:

    aspnet_Roles_FullAccess - 创建和删除角色aspnet_Roles_BasicAccess - 使用 asp.net 角色

  5. 使用 SQL Server Management Studio 配置您的初始应用程序和角色:

    exec aspnet_Applications_CreateApplication @ApplicationName='Northwind',@ApplicationID=''

    exec aspnet_Roles_CreateRole @ApplicationName='Northwind', @RoleName='Employee'

    exec aspnet_Roles_CreateRole @ApplicationName='Northwind', @RoleName='Manager'

    exec aspnet_Roles_CreateRole @ApplicationName='Northwind', @RoleName='Master'

  6. 实现您的“新用户”页面,但暂时不要使用表单授权来锁定它。您可能想要实现自己的表单,假设您已经存在用户记录在您的数据库中,并假设您想添加角色作为“创建用户”的一部分过程。无论如何,请使用此页面为 ASP.NET 创建一组初始用户成员(member)资格;这种方式比尝试使其与存储过程一起工作更容易。请参阅示例代码,了解不使用 ASP.NET 实现用户创建的情况LoginView 控件。

    请注意,示例应用程序中的“添加用户”页面假设了很多事情使用 ASP.NET 中的标准登录控件很难做到这一点。如果您要创建用户作为一项管理功能,您可能不让用户自行添加想要拥有多个角色,并且能够选择角色。更重要的是,您的数据库中可能已经建立了“用户”表,并且需要集成“新用户”功能,将记录添加到应用程序的用户表中。这是用于创建您自己的登录控件、收集附加数据和集成用户记录、ASP.NET 成员记录和 ASP.NET 角色的创建作业。所有这些都是在环境事务中完成的,因此它们要么成功或者作为一个工作单元失败。

  7. 创建用户并将其添加到角色后,您可以设置表单例份验证并锁定需要授权的页面。备注:

    a.不需要对顶级目录进行身份验证。此级别的页面 应可公开访问。b.在页面需要身份验证的每个子目录中添加 web.config。 通常,设置身份验证级别将是这些中的唯一功能 web.config 文件。

关于asp.net 成员(member)资格 - sql 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com