当前位置:  开发笔记 > 程序员 > 正文

如何测试ASP MVC应用程序以获得基于用户的安全性?

如何解决《如何测试ASPMVC应用程序以获得基于用户的安全性?》经验,为你挑选了1个好方法。

我已经为我的域对象编写了一段时间的测试,但是我仍然不太确定如何在我的web项目中测试安全性.某些环境中的某些用户可以访问我的模型的某些属性等,但您将如何进行测试呢?现在,我基于当前经过身份验证的用户,但我将如何注入假身份验证提供程序?

这可能是一个愚蠢的问题,但如果有人能帮我摆脱测试的黑暗时代,那将非常感激.



1> Scott Hansel..:

这个链接是单向的,但使用模拟更好:

    Mock MockContext(string userName)
    {
        var mockContext = new Mock();
        // mock an authenticated user
        mockContext.SetupGet(p => p.HttpContext.User.Identity.Name).Returns(userName);
        mockContext.SetupGet(p => p.HttpContext.User.Identity.IsAuthenticated).Returns(true);
        return mockContext;
    }

    [TestMethod]
    public void DinnersController_Delete_Should_Fail_With_InvalidOwner_Given_Wrong_User()
    {
        //set by default
        var mockContext = MockContext("scottha");

        // mock an authenticated user
        _dinnerController.ControllerContext = mockContext.Object;

        ViewResult result = _dinnerController.Delete(1, "") as ViewResult;
        Assert.AreEqual("InvalidOwner", result.ViewName);
    }

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有