加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 具有Windows身份验证的MVC3 Web应用程序中的特权

发布时间:2020-12-15 20:13:42 所属栏目:asp.Net 来源:网络整理
导读:我需要在MVC3 Web应用程序中实现用户权限提升,用于表单和 Windows身份验证,但这个问题对于Windows auth至关重要.这是为了更高的特权用户向较低特权用户提供帮助,例如当文书用户执行任务并要求管理员用户在文书用户可以继续之前执行任务时,管理员用户应该能够
我需要在MVC3 Web应用程序中实现用户权限提升,用于表单和 Windows身份验证,但这个问题对于Windows auth至关重要.这是为了更高的特权用户向较低特权用户提供帮助,例如当文书用户执行任务并要求管理员用户在文书用户可以继续之前执行任务时,管理员用户应该能够将同一会话提升到其特权级别,执行管理任务并恢复较低权限到会议.我没有看到一个办法,没有文书用户登录,管理员用户登录,因为我们想要在文书用户的桌面上实现这一点.也许用户切换比整个新的会话更整洁,但我非常喜欢Windows验证的Web应用程序的“运行”等效.

这是否可能,如果是这样,我该如何实现呢?我不知道哪里甚至开始寻找.

解决方法

你可以在你的网站上放置一个锚点:
@Html.ActionLink("elevate to admin","SwitchToAdmin","Home")

然后有一个控制器操作,将允许输入管理员凭据:

public ActionResult SwitchToAdmin()
{
    // TODO: Adjust the role name that your administrators will have
    if (!User.IsInRole(@"DOMAINAdministrators"))
    {
        // The user is not currently an admin => popup a Logon box
        // so that the administrator could authenticate himself
        return new HttpUnauthorizedResult();
    }
    else
    {
        // After inputting the correct username and password for the
        // admin,we can now redirect to the home action and start performing
        // the admin tasks
        return RedirectToAction("index","home");
    }
}

回归过程将是倒数.你可以有一个链接,如果用户是一个管理员,一般用户可以输入用户名和密码,它将会调用一个控制器动作,该操作会抛出401.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读