如何检查用户是否为admin

时间:2012-10-06 18:44:34

标签: c# sql-server

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

3 个答案:

答案 0 :(得分:1)

我假设有两件事:

  1. 您想知道登录用户是否是SQL Server上下文中的管理员。
  2. 所有“管理员”用户都有一些角色,例如db_owner。 (对不起,我没有在我面前安装SQL Server,也不记得我头脑中的所有角色名称,所以我从MSDN文档页面示例中提取了一个足够接近的名称。)< / LI>

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

SELECT IS_SRVROLEMEMBER('sysadmin', 'YourLogin')

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

sp_helprotect @username = 'guest'