【问题标题】:Check if the requested user has admin privileges检查请求的用户是否具有管理员权限
【发布时间】:2012-03-13 09:45:08
【问题描述】:

在 Web 应用程序中,是否有任何方法可以检查请求的用户是否具有管理员权限。 可能吗?你能推荐一种方法吗?

例如:前端用户在我的应用程序中请求一个页面。我想知道发出请求的用户在他的客户端计算机中是否具有管理员权限。我必须检查他是否使用系统中的管理员特权帐户登录。

我需要登录用户到系统而不是我的应用程序的权限,我的应用程序没有登录名。一个用户只是请求我的主页或任何其他页面,我只想知道该用户是否使用管理员帐户登录到他的 PC?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    我会为您推荐会员服务提供商。 阅读this 文章了解更多信息。

    编辑: 阅读一些给出的答案和其他问题后,阅读this 文章(由阿巴斯提供)。

    特别看“角色管理、用户身份和成员资格”一章。 这解释了 windows 身份验证(在 Intranet 上使用您的 windows 帐户登录)和表单身份验证(使用用户名和密码登录)之间的区别

    【讨论】:

    • 但是我的系统没有登录。那么如何查看用户的角色呢?
    • 而我的应用程序不是 Intranet 站点。
    • 阅读上面的文章,实现一个会员提供者(并不像看起来那么难)并将身份验证切换到 Windows 身份验证。此 Windows 身份验证将允许您检查用户是否为管理员(使用能够检查 Windows 帐户的成员资格提供程序)。此外,我不建议在外联网网站上使用 Windows 身份验证。这不安全,也不利于用户体验。这是因为用户必须通过互联网发送他的整个 Windows 帐户,以便您可以检查他是否在他/她的机器上具有管理员权限。再次不安全
    • 如果我错了,请纠正我,但我什至不认为您(作为网站)有权访问访问您网站的用户的 Windows 帐户。
    • 但这就是我想要的,我正在检查它的可行性。
    【解决方案2】:

    首先阅读@Rick Hoving 提供的文章。一旦您了解了整个会员故事,您应该阅读这篇文章,同样来自 MSDN:Understanding Role Management。解释了角色和访问规则,以及管理等。希望这会有所帮助!

    【讨论】:

    • 我需要系统登录用户的权限而不是我的应用程序,我的应用程序没有登录。一个用户只是请求我的主页或任何其他页面,我只想知道该用户是否使用管理员帐户登录到他的 PC?
    • @mahesh 请看看我编辑的答案。我认为这将回答这个问题。
    【解决方案3】:

    您可以在会话中创建角色并存储角色信息

    【讨论】:

    • 是的,我的意思是您可以创建像管理员/用户这样的角色,并且该角色应该存储在会话中。这样当服务器收到请求时,它应该知道您的权限是什么并相应地呈现。或者你想知道活动目录的特权
    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多