小编Mik*_*ike的帖子

在MVC 4中使用Windows身份验证获取Active Directory用户信息

我正在使用MVC 4 Intranet应用程序并使用Windows身份验证.我想添加到身份验证方法使用的用户对象(@User)并从活动目录中获取该数据(例如电子邮件,电话号码等).

我知道我可以创建一个自定义Authorize属性并将其添加到我所有其他控制器继承的控制器中,但我不知道这是否是正确的方法来做我想要的.

我的最终目标很简单,我希望@User对象具有通过Active Directory填充的其他属性.谢谢你尽你所能的帮助.

authentication active-directory windows-authentication asp.net-mvc-4

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

非静态地调用静态方法

我有一个子类,只使用静态方法扩展一个类.我想让这个子类成为单例而不是静态因为原始开发人员真的想要一个单例但是使用静态代替(显而易见的是因为静态类中的每个方法都调用了Init()函数(基本上是构造函数)).

父进程中的大多数方法都不需要在子进程中覆盖,但我想避免编写这样的方法:

public function Load($id)
{
     return parent::Load($id);
}
Run Code Online (Sandbox Code Playgroud)

当我不想覆盖该方法时,只需使用:

$child->Load($id);
Run Code Online (Sandbox Code Playgroud)

是否可以非静态地调用静态方法?是否可以使用实例对象扩展静态对象?我知道我可以尝试它,它可能会工作(PHP非常宽容),但我不知道是否有任何我应该关注的事情.

php oop static-methods

6
推荐指数
2
解决办法
4862
查看次数

C#继承和方法签名

我正在研究一个需要根据我传入的对象类型运行不同进程方法的类.我认为重载可能在这里工作,但我有一个问题.可以说我有两个接口:

public interface IEmail 
{
      Some properties ...
}
Run Code Online (Sandbox Code Playgroud)

public interface ISpecialEmail : IEmail
{
     Some more properties....
}
Run Code Online (Sandbox Code Playgroud)

以及处理这些对象的类:

 public class EmailProcessor
 {

      public void ProcessEmail (IEmail email)
      {
           do stuff;
      }

      public void ProcessEmail (ISpecialEmail email)
      {

          do different stuff
      }
 }
Run Code Online (Sandbox Code Playgroud)

我的问题是,由于ISpecialEmail继承自IEmail,这些方法签名是否足够不同以允许重载?我最初的想法是,ISpecialEmail电子邮件也会触发IEmail签名,因为从技术上讲,该接口也是实现的.

谢谢你的帮助.

c# overloading interface

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

用数据绑定在TextBlock中查看图标

我正在尝试制作一个带有图标的网格.我将图标的字符串表示存储在数据库中,并尝试通过绑定到我的viewmodel上的Icon属性(字符串)在GridHub中显示这些图标.

当我使用这个xaml时,我得到网格中显示的实际文本

<TextBlock Text="{Binding Icon}"
    FontFamily="Segoe UI Symbol"
    FontSize="100"
    TextAlignment="Center"
    VerticalAlignment="Top"
    Foreground="DarkGray"
    AutomationProperties.Name="Some Label"/>
Run Code Online (Sandbox Code Playgroud)

但是这会按预期显示图标

<TextBlock Text="&#xE1D4;"
    FontFamily="Segoe UI Symbol"
    FontSize="100"
    TextAlignment="Center"
    VerticalAlignment="Top"
    Foreground="DarkGray"
    AutomationProperties.Name="Some Label"/>
Run Code Online (Sandbox Code Playgroud)

我的模型看起来像:

 public class PermissionGroup
{
    /// <summary>
    /// The unique identifier for the group.
    /// </summary>
    public string PermissionGroupId { get; set; }
    /// <summary>
    /// The name of the group
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// The page associated with the permission group
    /// </summary>
    public string …
Run Code Online (Sandbox Code Playgroud)

c# xaml windows-8.1

4
推荐指数
1
解决办法
1502
查看次数

随机数,长度为15个字符且为正数

我正在尝试使用php制作长度正好为15个字符且正面的随机数字.我试过rand(100000000000000, 900000000000000)但它仍然会产生负数和小于15的数字.是否还有其他功能我可以做到这一点,或者我应该只使用rand(0, 9)15次并连接结果?

php random

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

多租户数据库设计 - 每个用户的数据库

我正在开发一个Web应用程序,它要求用户拥有自己的一组私有数据.我最初的计划是创建一个商店表,一个用户表和一个user_stores交叉表.然后,我会在stores表中保存该存储的数据库名称(并使用应用程序用户和密码创建每个特定于商店的数据库,以便Web应用程序始终可以登录).

每个商店都有类似的数据(用户,产品,运输方法等),我知道我可以使用外键引用将所有内容绑定在一个巨大的数据库中.但是,由于数据是非常具体的并且可能是专有的,使用我的原始设计或者在其中创建包含每个人数据的单个数据库会更好吗?

我正在考虑扩展问题,单独的数据库会更好,因为我们可以将更活跃的帐户放在他们自己(或更强大的)数据库服务器上,如果需要,只需在stores表中添加服务器位置字段.此外,它可能更安全,因为我们可以将用户登录信息添加到数据库,只允许他们访问他们的数据(阻止一个用户编辑其他用户的东西).我的问题是,是否有我担心的问题?几乎每一篇我读过的帖子都说没有使用我想到的方法,而且我不是DBA.任何输入都会有所帮助.

附加信息:这将托管在我将具有root访问权限的专用服务器上.我可以根据需要创建尽可能多的MySQL数据库.

mysql database-design multi-tenant

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

仅在折叠时将jQuery-UI sortable()应用于accordion()元素

是否有可能只在所有元素都折叠时才能对jquery手风琴进行排序?我有一个可排序的手风琴,但是当活动元素被移动时,它会破坏页面上的css(重新排列列).我知道这可能是网站上的CSS而不是手风琴的问题,但我没有权限调整所有的CSS.下面是我用来创建手风琴的代码:

<script type='text/javascript'>

    var selected = new  Array();
    var ids = new Array();
    var counter = <?php echo (req('fd_id'))? count($results): 0;?>;
    $(document).ready(function(){
        $("#livesearch").bind("keyup", function () {
                var value = escape($("#livesearch").val());
                if (value.length == 0)
                    $("#results").fadeOut(500);
                else
                {
                    $("#results").fadeIn(500);
                    $("#results").load("<?php echo matry::base_to('utilities/search/referral_search&str=')?>" + value);
                }
            });
        $(function () {
            $("#trip_list").accordion({
                header: ">li >h3",
                collapsible: true
            }).sortable({
                axis: 'y',
                handle: 'h3',
                stop: function(event, ui)
                {
                    ui.item.children( "h3" ).triggerHandler( "focusout" );
                }
            });

            });
        $("#livesearch").blur(function(){$("#livesearch").val(""); $("#results").fadeOut(500);});
        $("#reset").click(function(){$("#trip_list").html("");});
        $("button.remove").on('click', function (){
                $(this).parents('li').remove();
            });
        $("button#save").on('click', …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui accordion jquery-ui-sortable

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

DocumentDB COUNT不一致的结果

我一直在使用刚刚发布的DocumentDB中的COUNT聚合尝试一些查询.即使我多次运行完全相同的查询,我也会经常得到不同的结果.我知道我的数据没有改变.是否存在聚合函数的错误,我是否可以达到我的RU限制并且它只返回适合我的RU数量的计数,或者是否还有其他事情?

我的查询如下:

Select COUNT(c.id) FROM c WHERE Array_Contains(c.Property, "SomethingIAmSearchingFor")
Run Code Online (Sandbox Code Playgroud)

我的集合包含大约12k个非常小的文档(每个3或4个字符串属性和一个少于10个字符串项的数组)

azure azure-cosmosdb

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

Mailto与Jquery的链接

我的网站上有一个mailto链接,工作正常.但是,我想在其上执行.click()事件,以便在用户单击该链接时进行记录.我有.click事件工作并执行ajax请求,但现在mailto链接无法打开电子邮件客户端.是否可以在客户端打开之前运行jquery函数,但仍然可以打开客户端?

这是我的代码(它只是在浏览器中打开一个空白窗口)

<script type='text/javascript'>
                    jQuery('span.email a').on('click',function (){
                        jQuery.ajax({
                            type: 'POST',
                            url: '', //url here
                            data: {comment: 'Email Sent', category : 'EE', store_id: '" . $this->store_id . "'},
                            success: function (data){jQuery('#alerts').html(data);}
                        });
                    window.location.href= $(this).prop('href');
                });
                </script>
Run Code Online (Sandbox Code Playgroud)

html mailto jquery

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

document.ready函数被反复调用

我有一个没有页面更改的HTML网站.它只是使用ajax调用将不同的元素加载到页面上的每个位置.我需要登录函数在第一次加载页面后运行(因为它需要索引上的元素存在),但是当我使用$(document).ready(login)时,每次加载一个元素时它都会触发(因为它将元素加载到页面上,它会陷入无限循环中).除了将它放在我的索引页面的底部(这看起来非常脆弱)之外,是否有一种方法可以在索引页面加载完成后加载它,但是每次ajax请求都会向页面添加内容时不会运行它?

我的登录功能如下所示:

function login ()
{
    if($.cookie('employee'))
        employee = $.cookie('employee');

    if(employee && !employee.login)
        $("div.middle").load('login.html');
    else
            $("div.middle").load('main.html');

}

function logout ()
{
    //FIXME send a logout request to server to end session also
    employee = null;
    $.cookie('employee', null);
    $("div.middle").load('login.html'); 
}
Run Code Online (Sandbox Code Playgroud)

我的初始就绪函数如下所示://全局变量var employee = new Object;

$(document).ready(function(){
        $("div.leftColumn").html(buildLeftNav());
        //set height of middle if height of leftColumn is less than height of middle
        if($("div.leftColumn").css('height') < $("div.middle").css('height'))
            $("div.center").css('height' , $('div.middle').css('height'));




        //handle login and logout
        $.cookie.json = true;
        login();


    });
Run Code Online (Sandbox Code Playgroud)

我已经设置了一个小提琴来说明:http://jsfiddle.net/uZVP4/

ajax jquery login

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