小编DM.*_*DM.的帖子

授权属性中的UrlHelper和ViewContext

我有一个我无法解决的场景:

我正在为mvc创建自己的自定义授权属性.我想添加的主要功能是能够更改用户重定向的位置(如果用户不在某个角色中).我不介意系统发送他们回到登录页面,如果他们没有通过身份验证,但我想选择在那里给他们,如果他们进行身份验证,但不允许访问该操作方法.

这是我想做的事情:

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
        public string Action;
        public string Controller;

        protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext)
        {
            // if User is authenticated but not in the correct role
            string url = Url.Action(this.Action, this.Controller);                
            httpContext.Response.Redirect(url);
        }
    }
Run Code Online (Sandbox Code Playgroud)

作为一个额外的奖励,我想在进行重定向之前访问ViewContext和TempData.

有关如何在属性中实例化UrlHelper和ViewContext的任何想法?

asp.net asp.net-mvc asp.net-membership custom-attributes httpcontext

7
推荐指数
1
解决办法
1880
查看次数

Mongoose将存储的UTC日期转换为当地时间?

我想知道这是否正常,或者我在架构设置或查询过程中遗漏了什么:

我的应用程序和mongoose正确地将日期存储为mongodb中的UTC.通过mongo shell查看文档可以确认这一点.当我通过mongoose从mongodb检索文件时,日期现在是当地时间.

有没有办法让mongoose在查询时将日期保持为UTC?

mongoose mongodb node.js

6
推荐指数
1
解决办法
1万
查看次数

使用asp.net MVC分页搜索结果

我有一种情况,通过我在这里的搜索找不到解决方案.这是场景:

我有一个包含2个必填字段和多个可选字段的搜索表单.表单发布到一个操作方法,该方法确定选择哪些字段并构建与搜索条件匹配的List <>对象.然后我将List <>传递给视图以供显示.

我遇到的这个问题涉及如何使用asp.net mvc进行分页.对于过去的项目,我使用了一个自定义的Html帮助程序来创建包含查询参数和"页面"参数的链接.然后它使用GET请求和.Take().Skip()格式.

我已经在这个项目上遇到了障碍,因为我不能使用GET请求来搜索标准,我无法找到一种方法来保持List <>在内存中执行通常的"页面"参数技巧.

我想在会话中存储List <>,但对象和列表可能非常大.

我认为这是高级搜索表单的一个热门问题,但我似乎无法找到一个好的解决方案.任何帮助,将不胜感激.谢谢!

asp.net asp.net-mvc paging pagination

5
推荐指数
1
解决办法
7047
查看次数

我怎么能在任何我想要的响应流中插入一个字符串?

可能有一种简单的方法可以做到这一点,但我看不到它......

我创建了一个简单的Http模块,它在PreRequestHandler上启动一个计时器,并停止PostRequestHandler上的计时器来计算页面加载所花费的时间.

然后我创建一些简单的html并将我的结果写入Response.Write.因为我在PostRequestHandler中执行此操作,所以它会在</html>标记之后添加我的结果.这对测试很好,但我需要在页面需要验证的情况下.

我似乎无法弄清楚如何操作Response对象以在</body>标记之前插入我的结果.Response.Write和Response.Output.Write没有这种灵活性,我无法看到使用Response作为字符串的方法.我错过了一些容易的事吗?

asp.net string asp.net-mvc response.write httpmodule

5
推荐指数
1
解决办法
2190
查看次数

CakePHP 2:电子邮件模板中的Html助手

我正在努力弄清楚为什么我不能在CakePHP 2.0的电子邮件模板中使用$ this-> Html-> url.Helpers数组在视图中是空的.这是设计还是我错过了什么?

文档和迁移指南没有提及任何相关内容.

跟踪看起来像:

include - APP/View/Emails/html/admin/users_recover.ctp, line 1
View::_render() - CORE/Cake/View/View.php, line 598
View::render() - CORE/Cake/View/View.php, line 365
CakeEmail::_render() - CORE/Cake/Network/Email/CakeEmail.php, line 1300
CakeEmail::send() - CORE/Cake/Network/Email/CakeEmail.php, line 933
UsersController::_sendRecoverEmail() - APP/Controller/UsersController.php, line 186
UsersController::admin_login() - APP/Controller/UsersController.php, line 101
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 476
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 106
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 88
[main] - APP/webroot/index.php, line 96
Run Code Online (Sandbox Code Playgroud)

以下是我发送恢复邮件的功能:

private function _sendRecoverEmail($email, $recoverKey) {
    App::uses('CakeEmail', 'Network/Email');
    $cakeEmail = new CakeEmail();
    $cakeEmail->config('default'); …
Run Code Online (Sandbox Code Playgroud)

cakephp

3
推荐指数
1
解决办法
7146
查看次数