我有一个应用程序,它分别使用 Windows 身份验证和 SqlRoleProvider 进行用户身份验证和角色管理。它适用于我作为默认值添加到数据库中的测试用户。该应用程序要求用户登录(使用 Windows 凭据),然后才能将此内部应用程序用作基本“用户”。如果需要将用户添加到高级角色,管理员将在首次登录后负责此操作。
话虽如此,当他们第一次登录时,我如何将用户添加到默认角色?从逻辑上讲,我知道我需要调用 Roles.IsUserInRole() ,如果不是,则添加它们;但是,我会在哪里做呢?我无法在 Global.asax 中找到要使用的事件。
谢谢
编辑: 为了稍微扩展一下场景,由于需要编写新的提供程序以允许将连接字符串存储在 web.config 之外,我没有使用完整的会员提供程序系统。我没有使用任何形式的注册或登录页面,而是让 IIS 中的 Windows 集成身份验证处理身份验证方面,而我增强的 SqlRoleProvider 管理用户角色。对于我通过硬编码测试设置角色的用户,该系统运行良好。我只是在寻找一种添加新用户(将由 IIS 进行身份验证)以立即添加到默认“用户”角色的方法。我想我找到了;但是,出于性能原因,我现在正在研究使其不会在每次请求时触发的方法。