2

我有一个使用 SQL 成员资格提供程序的 asp.net 应用程序。我知道如何使用相同的会员提供程序获取多个应用程序,以便用户可以访问多个站点并使用相同的凭据登录。但是,我当前项目的要求是每个用户只能访问某些应用程序。例如,用户被授予访问站点 1 的凭据,然后在将来的某个时间,用户需要访问站点 2,并且经理/管理员必须允许用户访问站点 2。或者当经理创建用户的帐户最初,他/她批准访问用户需要访问的 3 个站点(或其他任何站点)。

所以我的问题是,为许多应用程序使用 1 个会员提供程序的最佳方式是什么,但只允许用户访问他们批准的应用程序(因此管理员可以管理对应用程序的访问,但给用户 1 个用户名和密码)?我曾考虑过使用角色,但我已经在应用程序中使用角色来允许访问应用程序中的某些功能。这似乎会变得一团糟。

我已经阅读了大约 50 个关于 SO 的类似问题,但没有一个解决了申请批准要求。提前致谢。

4

1 回答 1

0

这里最简单直接的方法是使用角色。

如果您为此添加更多角色(每个应用一个),这没什么大不了的。您对每个必须可用的应用程序都有一个基本角色,并在 Application_AuthenticateRequest 或 Application_AuthorizeRequest 上进行检查。还有其他方法可以做到这一点,但这是影响最小的,最容易编码(除了角色检查之外不需要任何东西),并且易于遵循。

于 2011-06-18T06:01:50.793 回答