0

如果用户不是管理员,我想阻止我的客户端应用程序的功能。但问题是如何检查登录名和密码是管理员的程序?

4

3 回答 3

1

我假设两件事:

  1. 您想知道登录用户是否是 SQL Server 上下文中的管理员。
  2. 所有“管理员”用户都属于某个角色,例如db_owner. (抱歉,我面前没有 SQL Server,也不记得我脑海中的所有角色名称,所以我从 MSDN 文档页面示例中提取了一个足够接近的角色名称。)

如果这些假设成立,那么它看起来IS_MEMBER会起作用。

于 2012-10-06T18:48:45.740 回答
0

在 ASP.Net 中,您将使用 Page.User.IsInRole("RoleName") 或在 Windows 中,您可以使用 System.Threading.Thread.CurrentPrincipal.IsInRole("RoleName")

于 2012-10-06T19:50:46.850 回答
0
SELECT IS_SRVROLEMEMBER('sysadmin', 'YourLogin')

或运行以下存储过程,它将为您提供与任何用户关联的所有权限。

sp_helprotect @username = 'guest'
于 2012-10-07T02:35:21.037 回答