小编Dar*_*g8r的帖子

在PHP中使用ASP.NET成员身份

我需要在php中对ASP.NET成员资格表进行身份验证.成员资格api配置为使用散列密码.

有人可以给我php来哈希来自登录表单的密码并将其与sql字段进行比较吗?

我知道我传入的密码是正确的,但它没有相同的哈希值.

private function Auth( $username, $password )
{
    // Hashed password in db
    $hash = $this->parent->_memberData['conv_password'];

    // password passed from form
    $bytes = mb_convert_encoding($password, 'UTF-7');       

    // Salt from db
    $salt = base64_decode($this->parent->_memberData['misc']);

    // hash password from form with salt
    $hashedpassword = base64_encode(sha1($salt . $bytes, true));

    // Test em out
    if ($hashedpassword == $hash)
    {
        $this->return_code = "SUCCESS";
        return true;
    }
    else
    {
        $this->return_code = "WRONG_AUTH";
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:

我尝试了不同的编码,结果相同.UTF-7,UTF-8和UTF-16.

更新: 我一直在争夺这一周.赏金来了......

这是单元测试形式的.net代码.单元测试工作,值直接来自数据库.这段代码到php的正确翻译是什么?

public void EncodePassword()
        { …
Run Code Online (Sandbox Code Playgroud)

php asp.net asp.net-membership

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

Node Sass No绑定您当前的环境

我在SO上看到了很多这样的问题,但似乎没有一个问题可以解决或匹配.
Node Sass找不到当前环境的绑定:带有Node.js 6.x的Windows 64位. 奇怪的是,我没有安装Node.js 6.x. 从命令行,节点-v给我v5.10.1.

我是开箱即用的Angular4 Universal Asp.net核心视觉工作室2017模板.

我试过了

  • npm rebuild node-sass --force
  • 在Visual Studio中的Web外部工具中重新排序节点

    失败:Microsoft.AspNetCore.Server.Kestrel [13]连接ID"0HL4JSD9SSV8E":应用程序抛出了未处理的异常.System.Exception:调用节点模块失败,错误:由于错误,预渲染失败:错误:模块构建失败:错误:缺少绑定D:\ Projects\angular2 \node_modules \node-sass\vendor\win32-x64-48\binding .node Node Sass找不到当前环境的绑定:带有Node.js 6.x的Windows 64位

    找到以下环境的绑定:

    • 带有Node.js 5.x的Windows 64位

    这通常是因为您的环境自运行以来发生了变化npm install.运行npm rebuild node-sass --force以构建当前环境的绑定.在Object的module.exports(D:\ Projects\angular2 \node_modules \node-sass\lib\binding.js:15:13).(d:\项目\ angular2 \node_modules \节点萨斯\ lib中\ index.js:14:35)

我哪里出错了?

visual-studio node.js npm node-sass

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

将 Dropzone 与 Typescript 结合使用

我有一个使用 dropzone 4.3 并用 Typescript 编写的应用程序。在将其转换为打字稿之前,我们必须在 Dropzone 上设置一个全局变量,一切都很顺利。

Dropzone.autoDiscover = false;
Run Code Online (Sandbox Code Playgroud)

我已经拉入了这些节点包:

    "@types/dropzone": "^4.3.35",
    "dropzone": "4.3.0",
Run Code Online (Sandbox Code Playgroud)

现在,自动发现行给了我这个错误:

Error   TS2686  'Dropzone' refers to a UMD global, but the current file is a module. Consider adding an import instead.
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我添加了以下内容:

import * as Dropzone from 'dropzone';
Run Code Online (Sandbox Code Playgroud)

现在,我留下了这个错误:

Error   TS2540  Cannot assign to 'autoDiscover' because it is a constant or a read-only property.   
Run Code Online (Sandbox Code Playgroud)

我哪里出错了?

typescript dropzone.js

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

将参数传递给 Azure Devops 中的测试

我有一个 api 项目,我想在 Azure 发布管道中运行一些集成测试。

  1. 构建项目。
  2. 创建发布。
  3. 将发布部署到插槽。
  4. 针对插槽运行 NUnit 集成测试。这需要对插槽的 http 请求。
  5. 如果测试通过,将生产槽与测试槽交换。

我被困在第 4 步。很容易将参数传递给 Visual Studio 中的测试装置。

[TestFixture(arguments: "https://urltomyslot.azurewebsites.net")]
public class CachedClientApiTokenManagerTests
{
    public CachedClientApiTokenManagerTests(string authority)
    {
        _authority = authority;
    }

    private readonly string _authority;

    // Runs tests using the url
}
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做是根据环境从 Azure Devops 传递参数。我正在使用 NUnit3TestAdapter 包并且它运行良好,但 args 是症结所在。如果我们在实验室环境中执行此操作,则传递的 url 与暂存或生产 url 不同。

我们如何使用 args 在 Azure DevOps 中配置它?

nunit azure-devops azure-pipelines

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

从CRUD到DDD

我有一个管理门票和客户的应用程序.客户拥有许多门票.如果客户被删除,其门票也将被删除.这是测试对象是否应该是聚合的测试之一.我选择它们都应该是不在聚合根下的实体.我将通常加载并显示跨越许多客户的票证列表.我使用SQL Server以关系格式保存数据.

我的架构如下:

  1. ASP.NET MVC应用程序.
  2. WCF服务(Facade).此服务具有公共方法,如GetTicket,GetTickets,GetCustomer和GetCustomers.它直接使用存储库来实现此目的.它还有一个名为Run的公共方法.Run接受一个命令,该命令可以是AssignTicket,ChangeTicketName等.为了处理命令,Facade注入了服务,ITicketService和ICustomerService.这些服务的方法用于从外观执行命令.这些服务使用ITicketRepository和ICustomerRepository来加载数据.
  3. 关系SQL Server数据库

我正忙着维护从门票到客户的引用.关系上,Ticket具有映射到Customers表的FK.当UI查看单个Ticket时,它会调用Facade.GetTicket(id)和Facade.GetCustomers().我能够显示所有票证详细信息及其所属的客户名称.这一切都很好,花花公子.但是,许多不同客户拥有的大量门票如何呢?请记住,Ticket仅包含引用客户的Guid.我不想调用外观来获取我要在UI中列出的每张票的客户名称.我的Tickets是否对其上有一个名为CustomerInfo(CustomerId和CustomerName)的值对象有效?使用sql语句加入这些数据是否有效?如果我没有使用关系数据库怎么办?什么时候更改客户的名字?在系统中,Ticket实际上也包含对多个其他实体的引用.

似乎DDD业务逻辑与UI需要显示的内容存在脱节.

domain-driven-design

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

Android 启动画面中心图像

我有一个带有启动屏幕视图的应用程序,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/black">
    <ImageView android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/splash2"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"
        />
    <TextView
        android:id="@+id/txtVersion"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@android:color/white"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:textSize="20dip"
        android:visibility="invisible"
        android:text="Version "/>
    <LinearLayout
        android:id="@+id/lvSplashInfo"
        android:layout_width="fill_parent"
        android:layout_height="120dp"
        android:layout_marginRight="40dp"
        android:layout_marginLeft="40dp"
        android:layout_alignParentBottom="true"
        android:orientation="vertical"
        android:visibility="invisible"
        android:background="@android:color/black">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="bleh"
            android:layout_margin="5dp"
            android:layout_gravity="center_horizontal"
            android:textColor="@android:color/white"/>
        <TextView
            android:id="@+id/txtPercent"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="0% of the total"
            android:layout_margin="5dp"
            android:textSize="18sp"
            android:gravity="center_horizontal"
            android:textColor="#9DBA32"/>
        <TextView
            android:id="@+id/txtFilename"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="File name: xxxxx"
            android:layout_margin="5dp"
            android:textSize="18sp"
            android:visibility="invisible"
            android:gravity="center_horizontal"
            android:textColor="@android:color/white"/>
    </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

它呈现缩放并居中到屏幕中的图像。不幸的是,这对我们来说效果不佳。在加载视图之前,它会导致轻微的白色闪烁。我的解决方案是使用活动样式。效果很好,除了我似乎无法居中和缩放图像。我可以轻松地将其居中,但它比屏幕更宽。这是我的 xml drawable:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@android:color/black"/>

    <item> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-drawable

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

ServerControl与UserControl

我想听听使用与UserControl相对的ServerControl的一些原因.我发现我可能过度使用UserControls了.

我的列表看起来像这样:

Pro UserControl

  1. 轻松修改.需要在元素中添加一个class属性,在html中将其破解.
  2. 快速轻松地创建初始视图.每个人都可以写简单的HTML吗?

Pro ServerControl

  1. 性能.没有HTML解析.
  2. 灵活性.控制渲染到gnat的后面.
  3. 可重用性.编译它并将其粘贴在GAC中供以后使用.或者,卖掉它.

我缺少什么?

asp.net

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

Google地图标记数据

我正在对服务器进行ajax调用,以获取要在谷歌地图上显示的纬度/长度列表.我也为每个标记添加了"点击"事件.诀窍是我需要能够将一些额外的数据存储到标记中,以便知道我正在处理的ID(来自数据库),所以我稍后将它与数据库匹配.我正在使用Title属性来显示一些友好信息.AJAX,标记创建和点击事件工作正常.存储标记的额外数据的正确方法是什么?看这里的代码:

$.ajax({
    url: "/location/NearbyHotspots",
    data: {
        lat: marker.position.lat(),
        lng: marker.position.lng(),
        radius: 10
    },
    datatype: "json",
    type: "POST",
    success: function (data, status, xhttp) {
        for (var i = 0; i < data.length; i++) {
            var loc = new google.maps.LatLng(data[i].Lat, data[i].Long);
            var newmarker = new google.maps.Marker({
                position: loc,
                draggable: false,
                map: map,
                title: data[i].Name
            });

            // This doesn't seem to work
            newmarker.hotspotid = data[i].ID;
            google.maps.event.addListener(newmarker, "click", function(mark) {
                alert(mark.hotspotid);
            });
        }
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert(textStatus);
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery google-maps

3
推荐指数
2
解决办法
7893
查看次数

Powershell是否可以通过任何方式从Azure File(not blob)共享下载文件

我想通过Powershell从Azure文件存储中下载一个大文件,
我发现所有解决方案都使用Azure Blob,它无法使用Azure文件,

有什么方法可以从Azure文件下载文件?

[注意:因为文件很大(127GB),下载时间会很长(可能需要3到4天),所以当我使用浏览器下载文件时,它总是会损坏]

以下是正式文档:https : //docs.microsoft.com/zh-cn/azure/storage/storage-powershell-guide-full

powershell azure azure-files

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

IdentityServer4密码授予

我已经站起了Identityserver4实例,一个API项目和一个UI。

工作流程如下:

  1. 用户访问UI。
  2. 用户向UI提供用户名和密码。
  3. UI将凭据发送到Web应用程序的背面,Web应用程序使用密码授予来使用IdentityServer4对用户进行身份验证。
  4. IdentityServer4返回一个令牌。
  5. 令牌用于标识用户是谁,以及用户有权访问网站的某些部分。
  6. 当用户需要在站点内执行某项操作时,令牌将通过承载身份验证传递到API。

密码授予不可协商,因为这是第一方应用程序,将用户重定向到主站点之外没有任何意义。

可以使用什么适当的中间件集?我应该只使用CookieAuthenticationMiddleware并附加令牌作为索赔吗?我需要从HttpContext.User声明访问声明。我需要使用IdentityMiddleware吗?

asp.net-core identityserver4 asp.net-core-middleware

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