Asp.Net 2 Membership.ValidateUser仅使用区分大小写的用户名

时间:2018-11-14 18:47:20

标签: sql asp.net forms-authentication

Asp.Net 2.0成员身份,MemberShip.ValidateUser无法使用区分大小写的用户名。我尝试将aspnet_users中的loweredusername列设置为区分大小写。像这样

ALTER table aspnet_Users alter COLUMN LoweredUserName NVARCHAR(256)
COLLATE SQL_Latin1_General_CS_AS NOT NULL

但是也没有用。

关于如何更改它的任何想法。

1 个答案:

答案 0 :(得分:0)

我只是走错了方向。问题是Asp.Net成员资格方法目标中的Membership.ValidateUser存储过程 [aspnet_Membership_GetPasswordWithFormat] 。在此存储过程中,我们需要更改

function PropertyDecorator(
    target: Object, // The prototype of the class
    propertyKey: string // The name of the property
): any {
    console.log('hit');

    return {
      get: function ()  {
        return !!this[propertyKey + 'value'];
      },
      set: function(val: string) {
        this[propertyKey + 'value'] = val.toLowerCase() !== 'false';
      },
      enumerable: true,
      configurable: true
    };
}

class PropertyDecoratorExample {

    @PropertyDecorator
    name: string;

    @PropertyDecorator
    name2: string;

    constructor() {
        console.log('New instance');
        console.log(this.name, 'should be false');
        this.name = 'hey';
        console.log(this.name, 'should be true');
        console.log(this.name2, 'should be false');
    }
}

new PropertyDecoratorExample();
new PropertyDecoratorExample();