小编bxl*_*wi1的帖子

表单身份验证+ ASP.NET MVC绝对ReturnURL

我在服务器上有一个中央身份验证应用程序.服务器b在同一域上有一个或多个需要从服务器a进行身份验证的应用程序.设置它很容易,以便服务器b应用程序重定向到服务器a.什么不是那么容易让ReturnURL变得绝对.

这是皱纹.在服务器b上使用app有两个控制器,一个是公共的,一个是安全的.如果[authorize]装饰放在公共的动作(默认控制器)上,我会得到正确的绝对URL.但是,如果它在它自己的控制器中,我得到一个相对的URL.

我可以拦截消费应用程序中的预请求事件,但我需要网站的某些部分是公开的,而不是整个粉碎.

想法?

asp.net-mvc forms-authentication

11
推荐指数
2
解决办法
2万
查看次数

ASP.NET MVC控制器单元测试boggle

我一直在阅读有关正确的单元测试控制器逻辑方法的各种教程.采取以下行动:

    public ActionResult Login()
    {
        //Return the index view if we're still here
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

街上的字是连接一个类似这样的测试方法:

    [TestMethod]
    public void TestLoginView()
    {
        //Set up an instance of the controller
        var thisController = new UserController();

        //Invoke the index action
        var actionResult = (ViewResult)thisController.Login();

        //Validate the test
        Assert.AreEqual("Login", actionResult.ViewName);
    }
Run Code Online (Sandbox Code Playgroud)

断言按预期工作.但是,这个控制器有一个基类,它覆盖了OnActionExecuting函数,以便设置各种页面元素chrome(导航元素,面包屑等).这个逻辑点永远不会被击中.

我可以轻松地测试控制器中使用的模型,但是我想在控制器层进行测试.想法?

asp.net-mvc unit-testing

2
推荐指数
1
解决办法
2435
查看次数